单个Activity的生命周期
创建一个Activity时,依次调用onCreate()
onStart()
onResume()
,此时处于可见状态,当让app处于后台则会依次调用onPause()
onStop()
onDestroy()
,
onRestart()
在Activity被销毁之前,系统调用该回调,从而让Activity回到可见状态。
多个Activity的生命周期交互
让当前Activity执行onPause()
之后,才会打开下一个Activity。
Activity生命周期交互设计思想三问
- 为什么先暂停当前显示的Activity?
- 为什么先执行要打开的Activity的
onCreate()
onStart()
onResume()
? - 在执行新的Activity时,为什么不执行当前Activity的
onPause()
onStop()
?
Activity的横竖屏切换
生命中后期应用场景
Activity启动的两种方式
- 直接启动
- 匿名启动
启动系统常见的Activity
- 启动浏览器
- 启动相册
- 发送短信
- 启动电话界面
Activity数据交换
- Bunndler传递数据
intent.putExtra("name","nate");
--->
intent.getStringExtra("name");
bundle.putString("name","nate");
intent.putExtras(bundle);
---->
intent.getStringExtra("name");
//Person 对象传递
bundle.putSerializable("person",person);
intent.putExtras(bundle);
----->
Person person = (Person)intent.getSerializableExtra("person");
//Bitmap传递
Bitmap bitmap = BitmapFactory.decodeResource(getResources().R.drawable.ic_launcher);
bundle.putParcelable("bitmap",bitmap);
bundle.putExtras(bundle);
----->
Bitmap bitmap = intent.gettParcelable("bitmap");
- 传递大数据异常
TransationTooLargeException
Activity中的任务栈
- Task
- Back Stack
通过adb命令查看Activity任务
Activity启动模式(launchMode)
standard
singleTop
singleTask
singleInstance
网友评论