设计模式学习笔记
设计模式系列学习视频
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
- killed
3、Activity生命周期
- onCreate()
- onStart()
- onResume()
- onPause()
- onStop()
- onDestroy()
- onRestart()
4、进程的优先级
- 空进程
- 后台进程
- 服务进程
- 可见进程
- 前台进程
5、Activity任务栈
- 先进后出
6、Activity启动模式
- standard
- singletop
- singletask
- singleinstance
7、scheme跳转协议
Android中的scheme是一种页面内跳转协议,通过定义自己的scheme协议,可以跳转到app中的各个页面
- 服务器可以定制化告诉app跳转哪个页面
- App可以通过跳转到另一个App页面
- 可以通过H5页面跳转页面
##二、Fragment面试题
1、Fragment为什么被称为第五大组件
Fragment比Activity更节省内存,其切换模式也更加舒适,使用频率不低于四大组件,且有自己的生命周期,而且必须依附于Activity
2、Activity创建Fragment的方式
- 静态创建
- 动态创建
3、FragmentPageAdapter和FragmentPageStateAdapter的区别
- FragmentPageAdapter在每次切换页面的的时候,是将Fragment进行分离,适合页面较少的Fragment使用以保存一些内存,对系统内存不会多大影响
- FragmentPageStateAdapter在每次切换页面的时候,是将Fragment进行回收,适合页面较多的Fragment使用,这样就不会消耗更多的内存
4、Fragment生命周期
- onAttach()
- onCreate()
- onCreateView()
- onActivityCreated()
- onStart()
- onResume()
- onPause()
- onStop()
- onDestroyView()
- onDestroy()
- onDetach()
5、Fragment的通信
- Fragment调用Activity中的方法:getActivity
- Activity调用Fragment中的方法:接口回调
- Fragment调用Fragment中的方法:FragmentManager.findFragmentById
6、Fragment的replace、add、remove方法
- replace:替代Fragment的栈顶页面
- add:添加Fragment到栈顶页面
- remove:移除Fragment栈顶页面
##三、Service面试题
1、Service是什么
Service是四大组件之一,它可以在后台执行长时间运行操作而没有用户界面的应用组件
2、Service和Thread的区别
- Service是安卓中系统的组件,它运行在独立进程的主线程中,不可以执行耗时操作。Thread是程序执行的最小单元,分配CPU的基本单位,可以开启子线程执行耗时操作
- Service在不同Activity中可以获取自身实例,可以方便的对Service进行操作。Thread在不同的Activity中难以获取自身实例,如果Activity被销毁,Thread实例就很难再获取得到
3、Service启动方式
- startService
- bindService
4、Service生命周期
- startService
- onCreate()
- onStartCommand()
- onDestroy()
- bindService
- onCreate()
- onBind()
- onUnbind()
- onDestroy()
##四、Broadcast Receiver面试题
1、Broadcast Receiver是什么
Broadcast是四大组件之一,是一种广泛运用在应用程序之间传输信息的机制,通过发送Intent来传送我们的数据
2、Broadcast Receiver的使用场景
- 同一App具有多个进程的不同组件之间的消息通信
- 不同App之间的组件之间的消息通信
3、Broadcast Receiver的种类
- 普通广播
- 有序广播
- 本地广播
- Sticky广播
4、Broadcast Receiver的实现
- 静态注册:注册后一直运行,尽管Activity、进程、App被杀死还是可以接收到广播
- 动态注册:跟随Activity的生命周期
5、Broadcast Receiver实现机制
- 自定义广播类继承BroadcastReceiver,复写onReceiver()
- 通过Binder机制向AMS进行注册广播
- 广播发送者通过Binder机制向AMS发送广播
- AMS查找符合相应条件的广播发送到BroadcastReceiver相应的循环队列中
- 消息队列执行拿到广播,回调BroadcastReceiver的onReceiver()
6、LocalBroadcastManager特点
- 本地广播只能在自身App内传播,不必担心泄漏隐私数据
- 本地广播不允许其他App对你的App发送该广播,不必担心安全漏洞被利用
- 本地广播比全局广播更高效
- 以上三点都是源于其内部是用Handler实现的
文末
面试:如果不准备充分的面试,完全是浪费时间,更是对自己的不负责!
不管怎么样,不论是什么样的大小面试,要想不被面试官虐的不要不要的,只有刷爆面试题题做好全面的准备,当然除了这个还需要在平时把自己的基础打扎实,这样不论面试官怎么样一个知识点里往死里凿,你也能应付如流啊
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
正的技术提升。**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!