Android (1)—Activity
来源:互联网 发布:netgear网络存储 编辑:程序博客网 时间:2024/04/29 17:28
这系列记录我看android 开发艺术探索这本书所总结的一些知识点。
Activity
在onPause 和 onStop 方法里面尽量不要做耗时的操作,如果要做应该在onStop 方法里面做。
从Activity A 中启动 Activity B,执行的顺序是 Activity A 的 onPause ,然后是B 的onCreate ,onStart, onResume
后面是activity A 中的 onStop .系统只会在acitiviy异常终止时才会调用onSaveInstance 和 onRestoreInstance
当横竖屏切换时,系统会调用 onSaveInstance ,在其重创建时,会把保存的bundle 对象传递给onRestoreInstance 方法
和 onCreate 方法。所以我们可以通过判断这个判断acitivity 是否被重新创建了。 onCreate 方法里面的bundle 可能为空
但是 onRestoreInstance 方法里面的bundle 对象一定不为空。切换屏幕不重新创建activity 的方法
在API Level 大于13 时,为了再横竖屏切换时不重新创建Activity ,可以在xml 里面加入下面这句话
Android:configChanges = “orientation| screenSize”
这时候就不会调用到 onSaveInstance ,OnReStoreInstance 方法。而是调用了下面这个方法
我们可以在onConfigurationChanged 方法里面做一些自己地特殊操作了。Activity 的启动模式
TaskAffinity 任务相关性,这个参数标识了一个activity 所需要的任务栈的名字。默认情况下为应用的包名。
==可以通过 adb shell dumpsys activity 命令来查看详细。==activity的四种启动模式网上介绍很多,我自己理解总结下面四句话。
- standard 标准模式,多次创建。
- singleTop 在任务栈顶就复用。
- singleTask 先找任务栈,找到了就把这个activity上面的都清出栈,没有就创建。
- singleInstance 新建单独的位于一个任务栈中,栈内复用。
IntentFilter匹配规则
- aciton 必须要有,且要相匹配。区分大小写。
- 因为系统会默认default所以可以不用匹配。
- data 和 action类似 。在设置data 时一定要用setDataAndType方法。
在通过隐式意图启动activity时,可以通过PackageManager的resolveActivity方法或者 是Intent的 resolveActivity方法
来判断是否找到,没找到就为空。
public ComponentName resolveActivity(PackageManager pm) { if (mComponent != null) { return mComponent; } ResolveInfo info = pm.resolveActivity( this, PackageManager.MATCH_DEFAULT_ONLY); if (info != null) { return new ComponentName( info.activityInfo.applicationInfo.packageName, info.activityInfo.name); } return null; }
默认会传 PackageManager.MATCH_DEFAULT_ONLY 这个flag. 因为不含有Default 这个category 的activity是无法接收隐式意图的。
- Android (1)—Activity
- Android Activity要点(1)
- Android 学习总结 Activity(1)-Activity的生命周期
- Android学习之路——Activity(1)
- Android入门 ——四大组件Activity(1)
- Android——面试题(1)Activity篇
- Android安卓——Activity组件(1)
- Android—开发自学历程(1)-Activity(5)-ListView
- android 学习1—— Activity初步
- android学习笔记1——Activity
- Android--四大组件(1)Activity
- android复习笔记(1) - Activity相关
- 【Android】四大组件(1)Activity详解
- 解读Android之Activity(1)基础知识
- Android学习笔记(1)--Activity
- Android源码查看 Activity(1)
- Android:Activity学习(1) 生命周期
- Android基础(1):Intent和Activity
- 安卓studio编辑gradle文件非常卡和远程关闭一个现有链接问题解决
- redis命令及操作记录以及redis的五种数据类型介绍
- java反射机制&动态代理
- zookeeper安装
- Linux-网络分析-netstat
- Android (1)—Activity
- 面试题之获取start到end之间的随机数
- AndroidStudio导入他人项目时报出:Error:(1, 0) Your project path contains non-ASCII characters错误
- 创建可以回调主程序接口的动态库
- Linux-网络分析-tcpdump
- 旋转数组的最小值:求中间值我竟然求错。
- Android的消息机制(一)
- CCF CSP 编程题目和解答-----试题名称:模板生成系统 -------201509-3
- HHKB使用心得