StartActivity原理(一)——Android9.0 pauseActivity原理hi,久违啦!插件化原理第二篇终于来了。现在是北京时间2022年11月21日22点43分,写插件化第一篇是2020年初,那时候疫情刚开始,转眼两年多过去了,还有两个月2022年也要过去了。 这两年多,很多事情发生了改变,习惯了戴口罩,习惯了每天做核酸,习惯了每天加班,习惯了晚上睡不着觉…唯有喜欢写代码的初心
转载
2024-09-24 10:00:38
43阅读
# 查看Android Activity启动时间的方法
## 一、整体流程
为了查看Android Activity的启动时间,我们可以通过以下步骤完成:
| 步骤 | 描述 |
| --- | --- |
| 1 | 在Activity的onCreate方法中记录当前时间 |
| 2 | 在Activity的onResume方法中记录当前时间 |
| 3 | 在Activity的onWin
原创
2023-11-25 03:59:41
196阅读
## 查看 Android Activity 启动的栈
作为一名经验丰富的开发者,你可以帮助刚入行的小白实现查看 Android Activity 启动的栈的功能。这可以帮助开发者更好地理解和调试应用程序的运行过程。下面是整个实现过程的步骤表格:
| 步骤 | 操作 |
| --- | --- |
| 1 | 获取当前应用的 ActivityManager 实例 |
| 2 | 调用 Acti
原创
2023-09-19 23:14:59
65阅读
## Android查看Activity被谁启动
### 介绍
在Android开发中,我们常常需要查看某个Activity是由哪个组件启动的,特别是在调试和排查问题时。本文将介绍如何通过代码的方式来实现查看Activity被谁启动的功能。
### 流程
下面是整个过程的步骤,你可以按照这个步骤来实现。
| 步骤 | 描述 |
| --- | --- |
| 1 | 获取ActivityMa
原创
2024-01-08 06:50:44
313阅读
# 如何查看当前Activity是否启动
在Android开发中,有时候我们需要判断某个Activity是否已经被启动,以此来决定是否需要重新启动它或者执行其他操作。对于新手开发者来说,完成这个任务可能有些挑战,但通过下面的步骤,你将能轻松掌握这个技巧。本文将详细讲解如何实现这一功能。
## 流程概述
在实际开发中,查看当前Activity是否启动的步骤如下表所示:
| 步骤 | 描述
原创
2024-08-15 07:56:33
129阅读
Activities简介 Activity类是android应用程序中的一个重要组件,activity对象组织和启动的方式更是android平台应用程序模型的基础。与范式编程使用main()函数启动应用不同,android系统在Activity实列中通过调用符合当前Activity生命周期的回调方法来执行代码。 &nb
转载
2024-08-24 17:47:27
62阅读
前言前一篇介绍了在启动页面的时候创建进程的过程,当进程创建完成之后就会调用App的ActivityThread.main 方法。一、mian// ActivityThread类
public static void main(String[] args) {
... // 省略一些初始化代码
Looper.prepareMainLooper();
ActivityTh
转载
2023-07-02 13:53:32
371阅读
如何启动activity1. startActivity。在桌面点击应用图标或者通过intent来启动activity都是这种方式2. startActivityForResult。3. startActivityFromRecent。当退出应用后再从最近应用列表中启动app startActivity后的一些疑问1. startActivity的执行流程,运行的架构?2. activi
转载
2023-09-14 12:32:48
199阅读
我们在平常开发的过程中,想启动一个Activity怎么办?startActivity(Intent intent)就可以了,这是一个简单得不能在简单的问题了。但如果问你启动一个Activity具体经过了哪些步骤,即时在同一App内调用startActivity是否用到了进程间通信呢?是不是有点蒙,我一个App内启动一个Activity还会用到进程间通信,要搞基(什么)?那么,我们就具体来看一看吧,
转载
2024-06-25 21:39:01
203阅读
Activity启动大致流程:无论是通过Launcher来启动Activity,还是通过Activity内部调用startActivity接口来启动新的Activity,都通过Binder进程间通信进入到ActivityManagerService进程中,并且调用ActivityManagerService.startActivity接口;ActivityManagerService调用Activ
转载
2023-08-31 10:49:50
159阅读
Android 10.0 Activity启动详解(一) 我们在上一篇博客中已经介绍了关于Activity的一些基础概念。这一篇博客我们以Android 10.0的代码来分析Activity的启动流程。 Activity的启动主要包括以下几个步骤: 1.应用通过startActivity或是s
转载
2023-09-12 15:02:40
21阅读
1、ActivityRecord、TaskRecord、ActivityStack和ActivityDisplay介绍 本篇文章是基于Android refs/tags/android-9.0.0_r8分支的代码进行分析的 在分析Activity启动的源码之前先介绍一下Activity的一些基本概念。1.1 Activity和Task 关于Android中Activity和Task的介绍,
转载
2024-01-31 18:23:26
63阅读
启动Activity有两种方式:1)startActivity2)startActivityForResult方式1,启动后不关心activity返回的结果方式2,启动后可以接收activity返回的结果,接收结果需要在onActivityResult函数中处理。下面我们来看下这个函数protected void onActivityResult(int requestCode, int resu
转载
2023-07-01 17:37:06
196阅读
standard:Activity的默认加载方式,该方法会通过跳转到一个新的Activity,同时将该实例压入到栈中(不管该Activity是否已经存在在Task栈中,都是采用new操作,生命周期从onCreate()开始)。例如:栈中顺序是A B C D,此时D通过Intent跳转到A,那么栈中结构就变成A B C D A,点击返回按钮的显示顺序是D C B A,依次摧毁。 singleTo
转载
2023-08-31 00:50:49
284阅读
首先对 android.intent.action.MAIN 以及android.intent.category.LAUNCHER做个说明 一个应用程序可以有多个Activity,每个Activity是同级别的,那么在启动程序时,最先启动哪个Activity呢?有些程序可能需要显示在程序列表里,有些不需要。怎么定义呢?android.intent.action.MAIN决定应用程序最先启
转载
2023-10-07 23:27:16
165阅读
下面补充一些备注和笔记。算法复制算法 (Copying)图示:标记-压缩算法 (Mark-Compact)英文描述: mark-compact 总结起来就是 标记 —> 压缩有用的对象到一端 —> 回收此端外剩下的空间 图示:可以看出,这两种算法都可以减少内存碎片GC Roots英文官方说明:The root kinds are:Class - class loaded
前言最近因为工作的原因,需要了解Activity的启动流程,网上找了很多,但是没有找到一遍关与Android13的,于是我决定自己写一篇。在学习的过程中,发现这个流程实在太复杂,如果面面俱到估计所需篇幅太长,本文篇幅有限,目前我就来谈谈我所了解的,如果有错误,欢迎大家留言指正。网上有一张基于Android6画的流程图如下: 画得很不错,我自己基于这张图画了一个Android13的:&nb
转载
2023-09-19 17:28:30
327阅读
备忘:将Activity注册为启动Activity。在AndroidManifest.xml中的<application>元素中加入以下<activity>子元素内容:<activity
android:name=".Main">
<intent-filter>
<
转载
2023-06-14 22:27:51
156阅读
Activity的启动分为两种:根Activity的启动按下桌面的程序快捷图标,启动应用程序的第一个Activity的过程,因此根Activity的启动过程也可以理解为应用程序的启动过程。普通Activity的启动程序内从一个Activity打开另外一个Activity的过程的启动。 Activity大体启动流程主要涉及四个进程:Launcher进程,也就是桌面进程系统服务进程,AMS所
转载
2023-07-31 19:38:32
493阅读
当我们在桌面点击app和app内部启动Activity时都会调用到Activity中的startActivityForResult方法public void startActivityForResult(@RequiresPermission Intent intent, int requestCode,
@Nullable Bundle options) {
转载
2023-08-06 18:44:09
96阅读