问题及解决方案-面试及经验增长

原创 2016年08月28日 22:11:29
> Android 多个Fragment嵌套导致的三大BUG- http://blog.csdn.net/megatronkings/article/details/51417510
> 浅谈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 使用经验分享,遇到的问题及解决方案

在使用Cloudera Hue时遇到一问题:  1. 使用Sqoop导入功能时,由于配置错误,使得“保存运行”后Job并不能正常提交,且界面上没有相关提示。 解决办法: 使用Hue的Sqoop ...

2015异常问题解决方案经验总结(一)

1.     could not find java.dll C:\Users\admin>java Error: Registry key 'Software\JavaSoft\JavaRunt...
  • rchm8519
  • rchm8519
  • 2015年01月12日 15:40
  • 54296

Java关于中文乱码问题的解决方案与经验

一、字节和unicode   Java内核是unicode的,就连class文件也是,但是很多媒体,包括文件/流的保存方式是使用字节流的。因此Java要对这些字节流经行转化。 char是unicode...
  • corehu
  • corehu
  • 2011年02月22日 20:08
  • 238

这是我们公司总结的一些关于中文乱码问题的一些解决方案和经验和大家分享! .

鸣谢:http://blog.csdn.net/xianyu_0418/article/details/4551252 .字节和unicode     java内核是unicode的,就连clas...
  • Hollboy
  • Hollboy
  • 2013年04月02日 10:12
  • 824

面试必须掌握的十个海量数据问题及解决方案

原文链接:BAT直通车-海量数据专题更多精彩内容(BAT招聘、笔试、面试、技术),请访问BAT直通车题目问题一:现有海量日志数据,要提取出某日访问百度次数最多的那个IP(可以将题干简化,假设日志中仅包...

有关于面试常遇到的问题回答,以及解决方案。

1、

面试不是意味着给解决方案,有时候我们也应该质疑问题

在面试的时候你会被问到各种各样的怪问题,在绞尽脑汁想着解决方案的时候你或许可以从实际的角度给出最完美的方案。 以下举个数据库相关的面试问题: CSDN论坛帖子总量的统计,要求实时更新! MyISAM ...

ADO.NET解决方案开发的经验参考

  • 2010年01月09日 09:55
  • 2.43MB
  • 下载

内网安全解决方案经验谈

随着网络安全技术的不断发展,网络恶意攻击者的技术也在不断的改进和创新。以前简单的网络边界安全解决方案,已经不能从整体上解决企业网络安全隐患,企业管理者不再简单满足于架设防火墙和防病毒等安全产品,内网安...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:问题及解决方案-面试及经验增长
举报原因:
原因补充:

(最多只允许输入30个字)