Activity的中文翻译是活动,活动的发起当然是需要一定的场景Context的,那么我们就从context#startActivity这个时刻开始分析~1. Context的那些事儿鉴于本文分析使用的Mac Pro + API26,这里就通过Command + SHIFT + O快捷键输入Context.java可以直接打开目标文件了,点击右侧的Structure标签,按字母表排序可以很清楚地看
问题:如何跨进程调用其他应用程序的Activity?答案:Activity既可以在进程内(同一个应用程序)访问,也可以跨进程访问。如果想在同一个应用程序中访问Activity,需要指定Context对象和Activity的Class对象,代码如下:                 &nbs
# 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  关于AndroidActivity和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
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所
当我们在桌面点击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
备忘:将Activity注册为启动Activity。在AndroidManifest.xml中的<application>元素中加入以下<activity>子元素内容:<activity android:name=".Main"> <intent-filter> &lt
转载 2023-06-14 22:27:51
160阅读
  • 1
  • 2
  • 3
  • 4
  • 5