Activity的中文翻译是活动,活动的发起当然是需要一定的场景Context的,那么我们就从context#startActivity这个时刻开始分析~1. Context的那些事儿鉴于本文分析使用的Mac Pro + API26,这里就通过Command + SHIFT + O快捷键输入Context.java可以直接打开目标文件了,点击右侧的Structure标签,按字母表排序可以很清楚地看
转载
2024-07-17 23:31:52
245阅读
问题:如何跨进程调用其他应用程序的Activity?答案:Activity既可以在进程内(同一个应用程序)访问,也可以跨进程访问。如果想在同一个应用程序中访问Activity,需要指定Context对象和Activity的Class对象,代码如下: &nbs
转载
2024-05-27 21:40:33
152阅读
# Android 跨module 启动activity
作为一名经验丰富的开发者,我将会教你如何在Android项目中实现跨module启动activity。首先,我们来看一下整个流程,然后详细说明每一步需要做什么。
## 流程表格
| 步骤 | 操作 |
| ---- | ---- |
| 1 | 在主module中添加依赖 |
| 2 | 在子module中声明activity |
|
原创
2024-04-22 05:22:20
252阅读
Content Provider ContentProvider在android中的作用是对外共享数据,也就是说你可以通过ContentProvider把应用中的数据共享给其他应用访问,其他应用可以通过ContentProvider对你应用中的数据进行添删改查。关于数据共享,以前我们学习过文件操作模式,知道通过指定文件的操作模式为Context.MODE_WORLD_READABLE或C
转载
2023-10-17 09:59:17
111阅读
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怎么办?startActivity(Intent intent)就可以了,这是一个简单得不能在简单的问题了。但如果问你启动一个Activity具体经过了哪些步骤,即时在同一App内调用startActivity是否用到了进程间通信呢?是不是有点蒙,我一个App内启动一个Activity还会用到进程间通信,要搞基(什么)?那么,我们就具体来看一看吧,
转载
2024-06-25 21:39:01
203阅读
Android 10.0 Activity启动详解(一) 我们在上一篇博客中已经介绍了关于Activity的一些基础概念。这一篇博客我们以Android 10.0的代码来分析Activity的启动流程。 Activity的启动主要包括以下几个步骤: 1.应用通过startActivity或是s
转载
2023-09-12 15:02:40
21阅读
Activity启动大致流程:无论是通过Launcher来启动Activity,还是通过Activity内部调用startActivity接口来启动新的Activity,都通过Binder进程间通信进入到ActivityManagerService进程中,并且调用ActivityManagerService.startActivity接口;ActivityManagerService调用Activ
转载
2023-08-31 10:49:50
159阅读
启动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阅读
如何启动activity1. startActivity。在桌面点击应用图标或者通过intent来启动activity都是这种方式2. startActivityForResult。3. startActivityFromRecent。当退出应用后再从最近应用列表中启动app startActivity后的一些疑问1. startActivity的执行流程,运行的架构?2. activi
转载
2023-09-14 12:32:48
199阅读
前言前一篇介绍了在启动页面的时候创建进程的过程,当进程创建完成之后就会调用App的ActivityThread.main 方法。一、mian// ActivityThread类
public static void main(String[] args) {
... // 省略一些初始化代码
Looper.prepareMainLooper();
ActivityTh
转载
2023-07-02 13:53:32
371阅读
首先对 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常规的启动Activity的方法,就是通过Intent构建一个意图,然后通过context.startActivity() 或者context.startActivityForResult()将活动启动起来Intent intent = new Intent(this,MainActivity.class);
intent.putExtra("params1"
转载
2024-04-01 22:38:12
162阅读
前言在这篇文章中,将会基于android 26源码上分析Activity从启动到显示到屏幕和Decorview添加到Window中的过程。另外在本文中,省略了很多内容,目的只是从源码中找到一条启动的线索。迟点再补充上流程图。从startActivity开始说起在应用层开发时,Acitvity跳转会写出下面的代码:public static void startAtcivity(BaseActivi
转载
2023-07-25 23:01:50
253阅读
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阅读
2017年的第一篇博客、今天开始整理以下Android所学到的东西,这次整理Android基础篇。 四大组件最常用的莫过于Activity。本文讲从activity生命周期和启动模式 一、Activity的生命周期
activity生命周期.png
以上是来自官方的生命周期图、看再多的博客都不如理解这样图来的快。 Activity主要有以下几种执行流程: 1、一般状态:Acti
转载
2023-06-29 17:26:25
223阅读
备忘:将Activity注册为启动Activity。在AndroidManifest.xml中的<application>元素中加入以下<activity>子元素内容:<activity
android:name=".Main">
<intent-filter>
<
转载
2023-06-14 22:27:51
160阅读