cvmachine.com - 申博开户网

查找: 您的方位主页 > 网络频道 > 阅览资讯:移动开发理论温习

移动开发理论温习

2019-03-27 07:52:24 来历:www.cvmachine.com 【

移动开发【理论温习】https://blog.csdn.net/baidu_33512336/article/details/87878143前语
从来不会有人说会忘记是一种情怀,特别是那些不应忘的。
1、Activity生命周期?
onCreate() -> onStart() -> onResume() -> onPause() -> onStop() -> onDetroy()
2、Service生命周期?
service 发动办法有两种,一种是经过startService()办法进行发动,另一种是经过bindService()办法进行发动。不同的发动办法他们的生命周期是不一样.
经过startService()这种办法发动的service,生命周期是这样:调用startService() --> onCreate()--> onStartConmon()--> onDestroy()。这种办法发动的话,需求留意一下几个问题,榜首:当咱们经过startService被调用今后,屡次在调用startService(),onCreate()办法也只会被调用一次,而onStartConmon()会被屡次调用当咱们调用stopService()的时分,onDestroy()就会被调用,然后毁掉服务。第二:当咱们经过startService发动时分,经过intent传值,在onStartConmon()办法中获取值的时分,一定要先判别intent是否为null。
经过bindService()办法进行绑定,这种办法绑定service,生命周期走法:bindService-->onCreate()-->onBind()-->unBind()-->onDestroy() bingservice 这种办法进行发动service优点是愈加便当activity中操作service,比方参加service中有几个办法,a,b ,假如要在activity中调用,在需求在activity获取ServiceConnection目标,经过ServiceConnection来获取service中内部类的类目标,然后经过这个类目标就可以调用类中的办法,当然这个类需求承继Binder目标
3、Activity的发动进程(不要答复生命周期)
app发动的进程有两种状况,榜首种是从桌面launcher上点击相应的运用图标,第二种是在activity中经过调用startActivity来发动一个新的activity。
咱们创立一个新的项目,默许的根activity都是MainActivity,而一切的activity都是保存在仓库中的,咱们发动一个新的activity就会放在上一个activity上面,而咱们从桌面点击运用图标的时分,由于launcher自身也是一个运用,当咱们点击图标的时分,体系就会调用startActivitySately(),一般状况下,咱们所发动的activity的相关信息都会保存在intent中,比方action,category等等。咱们在装置这个运用的时分,体系也会发动一个PackaManagerService的办理服务,这个办理服务会对AndroidManifest.xml文件进行解析,然后得到运用程序中的相关信息,比方service,activity,Broadcast等等,然后取得相关组件的信息。当咱们点击运用图标的时分,就会调用startActivitySately()办法,而这个办法内部则是调用startActivty(),而startActivity()办法终究仍是会调用startActivityForResult()这个办法。而在startActivityForResult()这个办法。由于startActivityForResult()办法是有回来成果的,所以体系就直接给一个-1,就表明不需求成果回来了。而startActivityForResult()这个办法实践是经过Instrumentation类中的execStartActivity()办法来发动activity,Instrumentation这个类首要效果便是监控程序和体系之间的交互。而在这个execStartActivity()办法中会获取ActivityManagerService的署理目标,经过这个署理目标进行发动activity。发动会就会调用一个checkStartActivityResult()办法,假如说没有在装备清单中装备有这个组件,就会在这个办法中抛出反常了。当然最终是调用的是Application.scheduleLaunchActivity()进行发动activity,而这个办法中经过获取得到一个ActivityClientRecord目标,而这个ActivityClientRecord经过handler来进行音讯的发送,体系内部会将每一个activity组件运用ActivityClientRecord目标来进行描绘,而ActivityClientRecord目标中保存有一个LoaderApk目标,经过这个目标调用handleLaunchActivity来发动activity组件,而页面的生命周期办法也便是在这个办法中进行调用。


移动开发理论温习

《算法导论 第三版英文版》_高清中文版.pdf
《深度学习入门:根据Python的理论与完成》_高清中文版.pdf
《浅显易懂数据剖析》_高清中文版.pdf
《Python编程:从入门到实践》_高清中文版.pdf
《Python科学核算》_高清中文版.pdf

 
 

本文地址:http://www.cvmachine.com/a/question/99712.html
Tags: 移动 开发 理论
修改:申博开户网
关于咱们 | 联络咱们 | 友情链接 | 网站地图 | Sitemap | App | 回来顶部