问题及解决方案-面试及经验增长
来源:互联网 发布:windows r 编辑:程序博客网 时间:2024/04/28 21:02
> 浅谈Android Fragment嵌套使用存在的一些BUG以及解决方法- http://blog.csdn.net/primer_programer/article/details/27184877
> fragment中嵌套viewpager,vierpager中有多个fragment,不显示 -http://blog.csdn.net/shaoyizhe2006/article/details/27352349
用getChildFragmentManager() 替换。
> Activity动态添加Fragment-- http://blog.csdn.net/qq_16953755/article/details/51372380
> 【Android面试】(一):Android中activity保存状态和数据到底该在哪个方法中进行- http://blog.csdn.net/cyp331203/article/details/44985087
> Activity生命周期:
启动Activity:onCreate->onStart->onResume
锁屏或被其它Activity覆盖:onPause->onStop
解锁或由被覆盖状态再回到前台:onRestart->onStart->onResume
跳转到其它Activity或按Home进入后台:onPause->onStop
退回到此Activity:onRestart->onStart->onResume
退出此Activity:onPause->onStop->onDestory
对话框弹出不会执行任何生命周期(注:对话框如果是Activity(Theme为Dialog),还是会执行生命周期的)
从A跳转到B:A-onPause->B-(onCreate->onStart->onResume)-A-onStop
从B返回到A:B-onPause->A-(onRestart->onStart->onResume)-B-(onStop->onDestroy)
默认情况下,切换屏幕方向时Activity会销毁、重建 onPause->onStop->onDestroy->onCreate->onStart->onResume
> Activity启动模式
standard 标准模式(activity默认的): 每次调用startActivity, 都会把activity给创建.
singleTop 单一顶部模式: 每次调用startActivity, 需要判断当前的activity是否已经被创建过并且查看任务栈的顶部是否是当前的 activity, 如果是, 调用onNewIntent方法, 如果不是, 就创建一个新的activity实例.
应用场景: 非法程序员, 写的流氓程序, 一直在弹出某个页面.
singleTask 单一任务栈模式: 如果任务栈中已经存在当前activity, 再去调用startActivity, 会调用当前任务栈的onNewIntent方法. 同时 , 会把所有以上的activity都给清除出栈.
应用场景: 如果一个界面显示的资源非常大, 只需要初始化一次实例.
singleInstance 单一实例模式: activity会在一个新的任务栈中实例化, 并且其他的activity不会创建在新的任务栈中. 始终在整个系统中 会被初始化一次.
应用场景: 在整个系统中, 只需要初始化一次的页面.
onNewIntent()
如果IntentActivity处于任务栈的顶端,也就是说之前打开过的Activity,现在处于onPause、onStop状态的话,其他应用再发送Intent的话,执行顺序为:
onNewIntent,onRestart,onStart,onResume。
> Fragment生命周期
onAttach->onCreate->onCreateView->onActivityCreated->onStart->onResume->onPause->onStop->onDestroyView->onDestroy->onDetach
> Serializable和Parcelable的区别
都能实现序列化且可用于Intent间的数据传递
Serializable是Java中的序列化接口,使用简单但开销大,序列化和反序列化过程需要大量I/O操作。
Parcelable更适合Android平台,使用麻烦但效率高,主要用在内存序列化上。
> 文件和数据库哪个效率高
数据量大时使用数据库效率高
数据量小时使用文件效率高
- 问题及解决方案-面试及经验增长
- 托盘图标及托盘菜单-问题及解决方案-编程-经验
- 英语面试问题及对策集锦: 经验与管理类
- 面试问题及对策集锦:考核你的经验业绩
- Cloudera Hue 使用经验分享,遇到的问题及解决方案
- 面试经验及题目分享
- 面试集及经验收集
- 面试必须掌握的十个海量数据问题及解决方案
- 面试问题及回答
- 面试问题及解答
- 面试问题及回答
- 面试问题及思路
- MVN 问题及解决方案
- js问题及解决方案
- WebView问题及解决方案
- DBoW3问题及解决方案
- 面试经验回顾以往工作及学习
- 计算机专业 面试经验 及 知识推荐
- 浅析 - Android异步操作
- hibernate date mysql 时间段查询
- 对象转型2 /java初学
- CharSequence类型
- Android SwipeRefreshLayout 官方下拉刷新控件介绍
- 问题及解决方案-面试及经验增长
- 阅读Android官方教程 Google Training 1.2 ------ Supporting Different Devices
- 用Springmvc做一个小小的登录检测
- 几种内存的分配方式
- 通过git将项目上传到github
- hdu 2476 String painter(区间qp)
- GIT 生成公钥和私钥
- 大三上学期计划
- 【Codeforces Round #351 Div. 2】 673B Problems for Round