当前位置:首页 > 经验 >

手机进程启动失败怎么办(请问手机开机启动不了了怎么办)

来源:原点资讯(www.yd166.com)时间:2022-11-04 04:32:11作者:YD166手机阅读>>

当说到android app启动流程的话,用户角度认为的启动流程是:打开手机-点击app图标-进入app页面,这就是用户理解的流程;而作为一名开发者,对他们来说并不简单,他们是app的开发者,知道每款app启动流程的背后需要付出多少心血。app启动流程并不像表面那么简单,它是一个繁琐而复杂的过程,接下来就以“友盟 u-apm”带大家了解下android app的启动流程是什么!

第一次启动

Dalvik虚拟机在app第一次启动时,会对dex文件进行dex2opt操作,对dex进行验证和优化,并生成odex文件,之后的启动都会基于这idex文件启动,所以Dalvik虚拟机在第一次启动app时会很慢。

流程

1.点击桌面APP图标时,Launcher的startActivity()方法,通过Binder通信,调用system_server进程中AMS服务的startActivity方法,发起启动请求

2.system_server进程接收到请求后,向Zygote进程发送创建进程的请求

3.Zygote进程fork出App进程,并执行ActivityThread的main方法,创建ActivityThread线程,初始化MainLooper,主线程Handler,同时初始化ApplicationThread用于和AMS通信交互

4.App进程,通过Binder向sytem_server进程发起attachApplication请求,这里实际上就是APP进程通过Binder调用sytem_server进程中AMS的attachApplication方法,上面我们已经分析过,AMS的attachApplication方法的作用是将ApplicationThread对象与AMS绑定

5.system_server进程在收到attachApplication的请求,进行一些准备工作后,再通过binder IPC向App进程发送handleBindApplication请求(初始化Application并调用onCreate方法)和scheduleLaunchActivity请求(创建启动Activity)

6.App进程的binder线程(ApplicationThread)在收到请求后,通过handler向主线程发送BIND_APPLICATION和LAUNCH_ACTIVITY消息,这里注意的是AMS和主线程并不直接通信,而是AMS和主线程的内部类ApplicationThread通过Binder通信,ApplicationThread再和主线程通过Handler消息交互。 ( 这里猜测这样的设计意图可能是为了统一管理主线程与AMS的通信,并且不向AMS暴露主线程中的其他公开方法,大神可以来解析下)

7.主线程在收到Message后,创建Application并调用onCreate方法,再通过反射机制创建目标Activity,并回调Activity.onCreate()等方法

8.到此,App便正式启动,开始进入Activity生命周期,执行完onCreate/onStart/onResume方法,UI渲染后显示APP主界面 APP启动过程的部分代码思考。

总结

对于android app启动流程的总结就是以上的介绍了。针对启动流程这块内容呢,是一个繁琐而复杂的过程,对开发者来说,是件不容易操作的事情,在启动过程中时不时的还会给你出点难题,出现闪退、黑屏什么的。我相信只要是开发人员,就会变得头大。这时,可以借助一些第三方工具来帮助检测性能问题,“友盟 u-apm应用性能监控平台”作为一款监测工具,就可以帮助开发者检测一些启动流程以及app性能上的问题。

除此之外,U-APM 是友盟 推出的App稳定性监控、性能监控和云真机测试平台。通过轻量级的集成接入即可拥有实时、可靠、全面的应用崩溃、ANR、自定义异常等捕获能力,及卡顿、启动分析等性能能力。另外,友盟 搭载在U-APM应用性能监控平台上推出了友盟 云真机服务,为移动开发者提供了灵活地测试操作界面,支持ADB调试、WEB远程调试、扫码、抓包、虚拟定位等测试功能,并提供了测试报告供开发者后续查看。

栏目热文

手机停止运行解决方法(手机屡次停止运行解决方法)

手机停止运行解决方法(手机屡次停止运行解决方法)

使用Android系统手机的用户想必都遇过这种情况,在使用APP过程中提示“软件停止运行”,面对这种情况,相信很多网友都...

2022-11-04 05:13:45查看全文 >>

手机程序都停止运行怎么办(怎样解决手机软件停止运行的问题)

手机程序都停止运行怎么办(怎样解决手机软件停止运行的问题)

中国网科技1月12日讯 中国移动今日发布公告称,由于业务发展调整,公司旗下10086 App将于2022年1月30日0时...

2022-11-04 05:08:06查看全文 >>

手机屡次停止运行怎么解决(屡次停止运行怎么解决)

手机屡次停止运行怎么解决(屡次停止运行怎么解决)

曾几何时,数码已经成为我们生活中的常客,手机、电脑、平板……种种电子数码产品的诞生为我们带来了无法想象的便利,但既然是数...

2022-11-04 04:50:53查看全文 >>

手机出现程序停止运行怎么解决(手机所有程序停止运行是怎么回事)

手机出现程序停止运行怎么解决(手机所有程序停止运行是怎么回事)

  在手机君的日常使用中,无论是IOS平台还是Android系统中的常用软件会突然出现闪退情况.今天,小编为了让小伙伴们...

2022-11-04 05:04:16查看全文 >>

怎样停止正在运行的手机进程(手机怎么强制结束进程)

怎样停止正在运行的手机进程(手机怎么强制结束进程)

每天用手机刷微信、微博,你懂得怎样更好的运用他们吗?那么现在告诉你,假如日常使用手机的方法不科学会怎样,赶紧来看看日常生...

2022-11-04 04:33:10查看全文 >>

手机程序待机停止运行怎么办(手机待机桌面停止运行了怎么办)

手机程序待机停止运行怎么办(手机待机桌面停止运行了怎么办)

近期发现手机锁屏后别人发微信语音和视频手机无响应。网上搜了很多方法,有说是自启动禁用了,有说是通知禁用了,有说是微信设置...

2022-11-04 04:27:19查看全文 >>

手机怎么解决停止运行(手机显示已停止运行怎么解决)

手机怎么解决停止运行(手机显示已停止运行怎么解决)

有很多朋友使用手机经常是用到快没电之后,然后充上电再接着用,就让手机一直使用,平时都不会重启手机,甚至都不会关机,那么就...

2022-11-04 04:33:50查看全文 >>

75年的兔未来五年运势(75年的兔今年的运势)

75年的兔未来五年运势(75年的兔今年的运势)

运势,指的是一个人未来的走向。每个属相在不同的年份,因流年的生肖太岁不同,就会有不同的相互作用关系,最为基本的就是十二地...

2022-11-04 04:30:24查看全文 >>

太阳能上下水管安装图(太阳雨太阳能上下水管安装图)

太阳能上下水管安装图(太阳雨太阳能上下水管安装图)

随着科技的进步,太阳能路灯也都走进了村子里的家家户户,大家对太阳能路灯都有了一定的了解,但是很多朋友购买完以后却不知道怎...

2022-11-04 05:00:29查看全文 >>

农村太阳能水管接法图(太阳能止回阀正确安装图)

农村太阳能水管接法图(太阳能止回阀正确安装图)

越来越多的家庭安装太阳能,太阳能水管接入时要注意什么,今天就让PChouse来为大家讲解一下。太阳能水管接入时要注意:1...

2022-11-04 04:34:36查看全文 >>

文档排行