总结:使用 IntentService 的好处有哪些。首先,省去了手动开线程的麻烦;第二,不 用手动停止 service;第三,由于设计了工作队列,可以启动多次—startService(), 但是只有一个 service 实例和一个工作线程。一个一个熟悉怒执行。
AIDL 解决了什么问题?
AIDL 的全称:Android Interface Definition Language,安卓接口定义语言。 由于 Android 系统中的进程之间不能共享内存,所以需要提供一些机制在不同的进程之 间进行数据通信。
远程过程调用:RPC—Remote Procedure Call。 安卓就是提供了一种 IDL 的解决方案 来公开自己的服务接口。AIDL:可以理解为双方的一个协议合同。双方都要持有这份协 议—文本协议 xxx.aidl 文件(安卓内部编译的时候会将 aidl 协议翻译生成一个 xxx.java 文件—代理模式:Binder 驱动有关的,Linux 底层通讯有关的。)
在系统源码里面有大量用到 aidl,比如系统服务。
电视机顶盒系统开发。你的服务要暴露给别的开发者来使用。 讲解 Binder 机制
[](()4. Activity、 Window、 View 三者的差别, fragment 的特点? (360)
Activity、 Window、 View 三者如何协同显示界面的。—考点:显示的过程(view 绘 制流程)源码的熟悉度。
Activity 剪窗花的人(控制的);Window 窗户(承载的一个模型);View 窗花(要显示 的视图 View);LayoutInflater 剪刀—将布局(图纸)剪成窗花。 (Alt+方向箭头)
fragment 的特点?(你用 fragment 有没有领略到一些乐趣,或者有没有踩过什么坑?)
fragment 的设计主要是把 Activity 界面包括其逻辑打碎成很多个独立的模块,这样便 于模块的重用和更灵活地组装呈现多样的界面。
1) Fragment 可以作为 Activity 界面的一个部分组成;
2) 可以在一个 Activity 里面出现多个 Fragment,并且一个 fragment 可以在多个 Activity 中使用;
3) 在 Activity 运行中,可以动态地添加、删除、替换 Fragment。
4) Fragment 有自己的生命周期的,可以响应输入事件。
踩过的坑:
-
重叠;
-
注解 newAPI(兼容包解决&#x