`
liu_android_1002
  • 浏览: 8990 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android Activity的显示过程简述

阅读更多
  首先从ActivityThread 类中main()函数中开始执行,调用 Looper.prepareMainLooper() 为 UI 线程创建一个消息队列(MessageQueue)
   然后创建一个ActivityThread对象,在 ActivityThread 初始化的时候会创建两个对象,一个对象

  final ApplicationThread mAppThread = new ApplicationThread();
    final Looper mLooper = Looper.myLooper();
    final H mH = new H();


H 继承于Handler类  ApplicationThread 继承于Binder 类,负责接收远程 ActivityManagerService 的IPC 调用,接收到消息会通过 H  把消息发送给消息队列,UI 主线程会异步的从消息队列中取出消息并执行相应的业务逻辑。
    当ActivityThread 接收到ActivityManagerServer 发送start 某个Activity 的请求之后,会创建对应的Activity对象,从 Activity->PhoneWindows->DecorView->view->ViewGroup。创建完毕之后,Activity 需要把创建好的界面显示在屏幕当中,由 WindowsManager 代理管理WindowManagerService 提供的接口通知底层Linux 驱动完成显示UI到屏幕的工作。

分享到:
评论

相关推荐

    Android四大组件简述

    Android四大组件简述demo用例。

    Android Activity的四种加载模式区别

    区分Activity的四种加载模式。在多Activity开发中,有可能是自己应用之间的Activity跳转,或者夹带其他应用的可复用Activity。可能会希望跳转到原来某个Activity实例,而不是产生大量重复的Activity。

    android中Activity和Intent的关系

    主要讲解了android中Activity和intent的使用。适合初学者!

    详解Android中Activity的四大启动模式实验简述

    作为Android四大组件之一,Activity可以说是最基本也是最常见的组件,它提供了一个显示界面,从而实现与用户的交互,作为初学者,必须熟练掌握。今天我们就来通过实验演示,来帮助大家理解Activity的四大启动模式。 ...

    android编程 android编程入门 android开发 android软件

    一、 简述 2 二、 应用程序的组成元素 2 1. Activity元素 2 2. Service元素 3 3. Broadcast receivers元素 3 4. Content providers元素 3 (一) 元素的激活 3 (二) 元素的去激活 4 (三) Manifest文件 4 (四) Intent ...

    Android新建Activity的方法

    主要介绍了Android新建Activity的方法,结合实例形式分析了Android新建Activity的具体步骤与相关实现技巧,需要的朋友可以参考下

    android 4大组件.rar

    android四大主键部分,Activity、ContentProvider、IntentReceiver、service

    Android笔记(3)---Activity和Intent

    NULL 博文链接:https://ln-ydc.iteye.com/blog/1905353

    Android系统自动化测试简述

     Instrumentation与Activity均位于android.app包下,这个包内还有诸如ActivityManagerNative这种不对App层开放的类,通过查看Android源码发现Activity类中诸如startActivity(Intentintent)这样重要的方法都是通过...

    Android中fragment与activity之间的交互(两种实现方式)

    之前关于Android中Fragment的概念以及创建方式,我专门写了一篇博文《详解Android中Fragment的两种创建方式》,就如何创建Fragment混合布局做了详细的分析,今天就来详细说道说道Fragment与宿主Activity之间是如何...

    Android代码-仿映客滑动切换直播

    InkeVerticalViewPagerLive ...首先是一个主Activity,里面只有一个ViewPager,当然了这个viewPager得是VerticalViewPager的。可以参考这两个项目,https://github.com/kaelaela/VerticalViewPager , ...

    Android 线程thread的两种实现方法(必看)

    一:在android中有两种实现线程thread的方法: 一种是,扩展java.lang.Thread类 另一种是,实现Runnable接口 二:Thread类代表线程类,它的两个最主要的方法是: run()——包含线程运行时所执行的代码 Start()——...

    详解Android应用开发中Intent的作用及使用方法

    比如,有一个Activity希望打开网页浏览器查看某一网页的内容,那么这个Activity只需要发出WEB_SEARCH_ACTION给Android,Android就会根据Intent的请求内容,查询各组件注册时声明的IntentFilter,找到网页浏览器的...

    android小测面试

    1、简述activity的各个生命周期; 3 2、简述ImageView、ImageButton、Button的相同点和不同点; 3 3、死锁是如何造成的; 3 ……

    android横竖屏切换时候Activity的生命周期

    1、新建一个Activity,并把各个生命周期打印出来 2、运行Activity,得到如下信息 onCreate–> onStart–> onResume–> 3、按crtl+f12切换成横屏时 onSaveInstanceState–> onPause–> onStop–> onDestroy–> ...

    Android_UI设计指南.pdf

    对话框图标是在弹出框中显示,增加互动性。 列表视图图标 使用列表视图图标是用图形表示列表项,比如说设置这个程序。 想更快的创建你的图标,可以导向Android 图标模板包。 ````` ```` ``` 四、菜单设计指南 菜单...

    android 面试2

     答:在AndriodMinifest.xml文件中配置Activity的属性的主题为android:theme="@android:style/Theme.Dialog"  4. 如何退出Activity?如何安全退出已调用多个Activity的Application?  答:单个的Activity,调用...

    AndroidEventBus事件总线框架

    你是否在开发的过程中遇到过想在Activity-B中回调Activity-A中的某个函数,但Activity又不能手动创建对象来设置一个Listener什么的? 你是否想在某个Service中想更新Activity或者Fragment中的界面? 等等之类的组件...

    详解Activity生命周期

    详解Activity生命周期一、概述1.方法简述2.三种周期二、生命周期中涉及到的其他方法1.onSaveInstanceState() 方法2.onBackPressed()方法三、四条生命线Line 1 onCreate() → onDestroy() 完整生命周期Line 2 onStart...

Global site tag (gtag.js) - Google Analytics