
framwork
hanfengzqh
这个作者很懒,什么都没留下…
展开
-
Android中Activity启动过程探究
首先追溯到Activity的启动,随便启动一个自己写的demo项目,使用DDMS进行debug标记,然后在Debug中把主线程暂停,可以看到调用栈。如下图所示:于是我们先看android.app.ActivityThread的main()方法。android.app.ActivityThread.main()main()方法中对一个Looper对象进行初始化,形成一个消息循环,那么任何主线程的操作...转载 2018-06-23 16:45:54 · 232 阅读 · 0 评论 -
android如何改变系统默认横竖屏方向
获取屏幕的方向:android.view.WindowManager manager = context.getSystemService(Context.WINDOW_SERVICE);int rotation = manager.getDefaultDisplay().getRotation();rotation的值为Surface.ROTATION_90或Surfac转载 2017-08-01 10:13:53 · 2228 阅读 · 0 评论 -
通过源码分析一个linux进程可以运行多个android应用
Android是运行在Linux系统上的,一个android应用在启动的时候会会创建自己的进程,创建自己的任务栈,下面通过源码来查看系统是依据什么来创建一个应用的进程的.1.系统首先通过下面的代码来判断进程是否存在,这个段代码位于ActivityStack.startSpecificActivityLocked方法中,这个方法在系统源码的frameworks/base/services/J转载 2017-05-09 17:56:16 · 467 阅读 · 0 评论 -
Android 4.4的栈结构变化
我们知道,activity 在 AMS 中的形式是 ActivityRecord,task 在 AMS 中的形式为TaskRecord,进程在 AMS 中的管理形式为 ProcessRecord。我们先看下 4.4 之前的版本:android4.4 之前的版本,AMS 管理 Task 是通过一个 ArrayList mHistory 来管理所有的 activity:转载 2016-12-16 13:37:40 · 316 阅读 · 0 评论