【转】应用程序的入口是ActivityThread

ActivityThread运行框架

在分析中,我们可以看到真正对应应用进程的不是Application而是ActivityThread。我们从实际的应用堆栈可以看到:

NavitiveStart.main()

ZygoteInit.main

ZygoteInit$MethodAndArgsCall.run

Method.Invoke

method.invokeNative

ActivityThread.main()

Looper.loop()

....

每个应用程序都以ActivityThread.main()为入口进入到消息循环处理。对于一个进程来讲,我们需要这个闭合的处理框架。

ActivitiyThread是应用程序概念空间的重要概念,他建立了应用进程运行的框架,并提供了一个IActivityThread接口作为与 Activity Manager Service的通讯接口.通过该接口AMS可以将Activity的状态变化传递到客户端的Activity对象。

时间: 2024-10-12 18:29:36

【转】应用程序的入口是ActivityThread的相关文章

C++应用程序的入口

也许,你对设计一个应用程序的入口有点茫然,我这里讲一些简单的套路 //你自己写一个app类,继承于一个线程类,当然这个线程类你可以自己封装,也可以去找开源的 class MyApp:XxThread{ public:   bool NeedStop();   void NoticeStop()<span style="font-family: Arial, Helvetica, sans-serif;">} </span><span style="

【转】关于android应用程序的入口

android应用程序,由一到多个Activity组成.每个Activity没有很紧密的联系,因为我们可以在自己的程序中调用其它Activity,特别是调用自己的代码之外生成的Activity,比如android提供的发短信或者打电话的Activity. Intent call = new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+phonenumber); startActivity(call); Intent sms = new Inte

Main 程序的入口要做哪些事情

Main 程序的入口要做哪些事: 1.从主类中实例化程序(UIApplication)对象 2.如果有委托的话,从给定的类实例化委托和设置程序(UIApplication) 的代理. 3.开启主事件的循环,包括应用程序(UIApplication) 的运行循环,开始处理事件,让那个程序一直跑起来. 4.加载Info.plist 文件中指定要加载的Main.storyboard文件,包括NSMainNibFile关键和有效的nib文件和nib文件名字,加载nib文件 加载Main.storyboa

android 没有main函数,怎么找到程序执行入口呢?以及activity主要生命周期的方法说明

android应用程序,由一到多个Activity组成.每个Activity没有很紧密的联系,因为我们可以在自己的程序中调用其它Activity,特别是调用自己的代码之外生成的Activity,比如android提供的发短信或者打电话的Activity. Intent call = new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+phonenumber); startActivity(call); Intent sms = new Inte

mfc程序执行入口

一 MFC程序执行过程剖析 1)我们知道在WIN32API程序当中,程序的入口为WinMain函数,在这个函数当中我们完成注册窗口类,创建窗口,进入消息循环,最后由操作系统根据发送到程序窗口的消息调用程序的窗口函数.而在MFC程序当中我们不在能找到类似WinMain这样的程序入口,取而代之的是一系列派生类的声明和定义以及一个冲CWinApp类派生而来的类的全局对象.CWinApp类被称之为应用程序对象,在一个MFC程序当中只允许有一个应用程序对象.由于CWinApp的派生对象是全局的,因此这个对

软件开发的目录规范/定制程序的入口/引用配置文件/引用自定义模块/logging模块/日志继承与propagate属性/通过字典导入配置/日志模块在项目中的使用

02.软件开发的目录规范单独的文件放单独的东西py文件src 程序的核心有关setting 配置有关common 常用功能的集合体 文件夹lib 库log 日志conf 配置文件有关的db 数据有关的文件夹bin 整个程序的入口放启动文件core 里面写主逻辑=====================read me 解释说明文件夹里面做什么 原文地址:https://www.cnblogs.com/wangmiaolu/p/8734561.html

微信最近一系列调整,都是给小程序加入口

文:徐弢 现在是着重在搜索框结果里加强小程序的露出 昨日晚间,微信官方公众号微信公开课发布公告称,微信推出了一个新的功能"功能直达". 该功能调整了用户在"搜一搜"功能中搜索关键词时的搜索结果,优先呈现提供相关服务的微信小程序. 例如将"快递"作为搜索关键词,搜一搜将优先呈现提供快递服务的小程序,显示为"快递-服务",点开该标签,提供快递服务.设置了关键词的小程序目前包括 6 个. 微信称,目前部分小程序已经开始使用该功能,包

程序的入口

Java程序运行的起点: public static void main(String[] args) { } 说明: 静态方法,与具体位置无关,可以放在其它类中,它是独立的全局的静态方法,是整个程序的入口 Java程序可以有多个main方法,程序的入口自己指定,其它的main方法可以作为测试单元的入口(测试某个类的方法,可以在该类下面写一个main函数作为测试的入口) 原文地址:https://www.cnblogs.com/yangwu-183/p/10204580.html

面向对象和面向过程,python中的类class,python中程序的入口——main方法,

1.程序入口,让main显现出来: print(__name__)#__name___是模块中的隐藏字段,当前模块运行的函数名 if __name__ == __main__ __main__() #定义程序入口:Python中main函数默认是隐藏的,main函数在当前运行的模块下,定义程序入口就是让main函数显 #现出来 def __main__(): ....... 2.面向对象和面向过程: 面向对象:使用对象完成任务,不需要在意过程: 3.什么是类:一个类型,定义class来表示一个类