Activity使用方法总结.docx_第1页
Activity使用方法总结.docx_第2页
Activity使用方法总结.docx_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1Activity的创建创建一个类.继承android.app.Activity.2.Activity的注册在清单文件AndroidMainfest.xml文件中添加/-name属性表示是哪个Activity./-过滤的条件3.Activity 的状态(从是否可见和是否可以获取焦点的角度考虑)1.可见.能够获取焦点 Activity(活动) onCreate onStart onResume2.可见.但不能获取焦点(部分被遮盖)(暂停) onPause3.不可见.没有焦点(停止) onPause onStop4.销毁(非活动) onDestroy4.Activity 的四种启动模式修改方法:在清单文件,Activity属性中android:launchMode=”1.standard 标准模式。 会创建一个新的实例。允许相同的Activity叠加(默认.)2.singleTop栈顶唯一 如果要启动的Activity位于栈顶则直接使用(onNewIntent() 如果不是位于栈顶则创建一个新的实例出来.3.singleTask栈内唯一如果在栈顶存在该Activity则直接使用,如果不在栈顶但存在于栈内会把该Activity之上的所有Activity移除(Destroy)并调用newInstance()方法重用该Activity.如果栈内没有该Activity则创建一个新的实例4.singleInstance 栈唯一 以这种模式启动的Activity会创建一个新的Activity栈.该Activity位于新创建的Activity栈顶.并且该栈中有且仅有一个Activity.(可以同通过栈的ID来查看.)5.Activity的启动方式1.startActivity(Intent I);2.startActivityForResult(Intent I,int ,requestCode)使用第二种方式启动的Activity必须重写onActivityResult(int,int,Intent)方法.并且需要验证请求吗和返回码.被启动的Activity通过setResult(int,Intent)方法来返回数据.6.Activity 的生命周期1.中间一条线:onCreate()onStart()onResume()onPause()onStop()onDestory()2.右边两条线: onCreate()onStart()onResume()onPause()onResume().onCreate()onStart()onResume()onPause()onStop()onRestart()onStart().3.左边一条:(也可以说是两条线.在资源不足时优先结束某些Activity)7.Activity的优先级1.程序的优先级和优先级最高的Activity的优先级相同.2.长期不活动的Activity会优先被结束3.位于栈顶的Activity的优先级最高.4.杀死进程回收资源是由应有程序的优先级决定,应用程序的优先级与它的组件的最高优先级相同.5.两个优先级相同的应用程序.那个应用程序长时间处于低优先级的进程会先被杀死6.进程的优先级同样受进程间依赖关系影响.如果一个应用程序依赖于另外一个应用程序的Service或ContentProvider 那么提供服务的应用程序的优先级和接受服务的应用程序的优先级一样.0优先技树:Active process(前台.进程中依附的应用程序包含当前与用户交互的组件.最后被杀死 )1.处于活动的Activity(正与用户进行交互)2.Activity ,Service 或正在执行onReceive()的BoradcastReceiv3.正在执行onStart(),onCreate,onDestroy()的ServiceVisiable Process可见但是不活动的.(部分被遮盖的Acitivity)Started Service Process已经启动的服务(服务虽然是后台的,但Android仍然把它们视为前台进程直道资源被优先级比它高的需求.)Background ProcessActivity 不可见或没有启动的Service 这些进程被视为后台进程Empty ProcessAndroid保留那些已经走完生命周期的应用程序维护缓存以优化再次启动所需要的时间.它们是最先被杀死释放资源的.8.Activity的数据保存1.在程序意外终止时2.在当前Activity被弹出时(从栈顶移除)3.在当前Activity被改变时(横竖屏切换)onCreate(Bundle saveInstanceState)中的参数Bundle对象用于保存onRestoreInstanceState()在onResume之前onSaveInstanceState()在 onPause之后9.Activity的关闭1.this.finish();(实例)10.Activity在横竖屏切换时的体现.切换横竖屏时onSaveInstanceState()onPause()onStop()onDestroy()onCreate()-onStart()onRestoreInstanceState()onResume.在不设置Activity的android:configChanges时切屏会重新调用各个声明周期.切竖屏时执行两次切横屏时执行一次.在设置了android:configChanges=”orientation”时切屏仍然会调用各个声明周期但都只会执行一次 .当设置android:configChanges=”orientation|keyboardHidden|screenSize”Android:configChanges=”的作用.里面所罗列的项发

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论