1、Activity问题讲解
a) Activity的生命周期
1.Activity的4种状态
running / paused / stopped / killed
running:activity处于活动状态,用户可以点击屏幕,屏幕做出响应,此时该activity处于栈顶
paused:activity失去焦点,用户不能点击,或者被一个非全屏activity占据、透明界面放入栈顶
stopped:当该activity被完全覆盖
killed:被android系统回收
2.Activity的生命周期
Activity启动->onCreate()->onStart()->onReasume()
点击Home键回到主界面(Activity不可见)->onPause()->onStop()
当我们再次回到原activity时->onRestart()->onStart()->onReasume()
退出当前activity时->onPause()->onStop()->onDestroy()
3.Android进程优先级
前台进程:正在前台和用户交互的activity或者是和前台activity绑定的service
可见进程:处于前台但是用户不能点击
服务进程:在后台开启一个服务
后台进程:前台进程点击hone键后就变成了后台进程
空进程:不属于前面四种进程,android系统随时可以杀掉
b) Android的任务栈
c) Activity启动模式
standard 标准模式:默认的启动模式
singleTop 栈顶复用模式:须要创建的Activity已经处于栈顶时,此时会直接复用栈顶的Activity。不会再创建新的Activity;若须要创建的Activity不处于栈顶,此时会又一次创建一个新的Activity入栈,同Standard模式一样
singleTask 栈内复用模式:若须要创建的Activity已经处于栈中时,此时不会创建新的Activity,而是将存在栈中的Activity上面的其他Activity所有销毁,使它成为栈顶。
singleInstance 单实例模式:SingleInstance比較特殊,是全局单例模式,是一种加强的SingleTask模式。它除了具有它所有特性外,还加强了一点:具有此模式的Activity仅仅能单独位于一个任务栈中。
d) Scheme跳转协议
Android中的Scheme是一种页面内跳转协议,通过自定义Scheme协议,可以跳转到app中的任何页面。
服务器可以定制化跳转app页面
app可以通过Scheme跳转到另一个app页面
可以通过h5页面跳转app原生页面
协议格式
Uri.parse("qh://test:8080/goods?goodsId=8897&name=fuck")
qh代表Scheme协议名称
test代表Scheme作用的地址域
8080代表改路径的端口号
/goods代表的是指定页面(路径)
goodsId和name代表传递的两个参数
Scheme使用
http://blog.csdn.net/lishuiyuntian/article/details/77477756
2、Fragment问题讲解
a) Fragment为什么会被称为第五大组件
b) Fragment加载到Activity中的两种方式
1.静态加载
xml方式
2.动态加载
FragmentManager fragmentManager = getFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); fragmentTransaction.add(R.id.collapseActionView,new Fragment()); fragmentTransaction.commit();
c) FragmentPageAdapter与FragmentStatePageAdapter区别
FragmentPageAdapter适用于界面较少的情况
FragmentStatePageAdapter适用于界面较多的情况
看源码中的destroyItem函数发现FragmentStatePageAdapter在Viewpage切换界面的时候会真正的回收内存,而FragmentPageAdapter不会
d) Fragment的生命周期
e) Fragement之间的通信
1.Fragemnt调用Activity中的方法
2.Activity调用Fragment中的方法
3.Fragment调用Fragment中的方法
3、Service问题讲解
4、broadcast问题讲解
5、webview安全漏洞问题讲解
6、binder问题讲解
原文地址:https://www.cnblogs.com/zhaojianhua/p/8582632.html