Activity的学习摘抄(一)

Activity简介

每个Activity与其他Activity之间只存在松散的关联,应用内不同Activity之间的依赖关系通常很小。

android:name时清单文件声明Activity时唯一必要的元素。

不想让其他应用访问的Activity不应包含intent过滤器。

了解Activity生命周期

良好的生命周期回调实现有助于防止应用出现以下问题:1、当用户在使用引用时接听来电,或切换至另一应用时崩溃;2、当用户未主动使用它时,消耗宝贵的系统资源;3、当用户离开应用并在稍后返回时,丢失用户的进度;4、当屏幕在横向和纵向之间旋转时,崩溃或者丢失用户的进度。

onCreate():系统首次创建Activity时出发接收saveInstanceState参数,包含Activity先前保存状态的Bundle对象,如果Activity之前未存在,Bundle对象为null.

onStart()

onResume():

onPasue():执行非常简单而且不一定有足够的时间来执行保存操作,因此不应该使用onPause()来保存应用或者用户数据、进行网络呼叫或者执行数据库数据。在API24以上,有多个应用在多窗口模式下运行,无论何时,都只有一个应用(窗口)可以拥有焦点,因此系统会暂停所有其他应用。有新的半透明Activity(例如对话框)处于开启状态,只要Activity仍然部分可见但并未处于焦点之中,它便会一直暂停。

onStop()

onDestroy():Activity即将结束(用户彻底关闭Activity或者由于系统为Activity调用finish),或者由于配置变更(例如设备旋转或者多窗口模式),系统暂时销毁Activity。可以用isFinishing()方法区分这两种情况。

Activity部分销毁,仍然驻留在内存中,并且可以返回到前台(切换到另一应用时)

系统终止进程优先级:空(已销毁)>后台(不可见,已停止)>后台(失去焦点,已暂停)>前台(拥有或即将获得焦点,已创建、已开始、已恢复)

系统永远不会直接终止Activity以释放内存,而是会终止Activity所在的进程。不仅会销毁Activity,还会销毁在该进程中运行的所有其他内容。

当Activity因系统限制而被销毁时,应组合使用ViewModel、onSaveInstanceState()和/或本地存储来保留用户的瞬间界面状态。

onSaveInstanceState()  onRestoreInstanceState()

startActivity()  startActivityForResult

Activity A启动Activity B顺序:A.onPause(),->B.onCreate()->B.onStart()->B.onResume()->A.onStop()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值