AIDL--IPC通信模型
-->背景
这篇文章,可以看作是<<Android开发艺术探索>>的读书笔记.
也感谢以下博客大大:
aidl系统应用: https://blog.****.net/huhuayouxu/article/details/52005613
Android开发多进程优点,缺陷以及解决方案 : https://blog.****.net/spencer_hale/article/details/54968092
-->正文
1.简单介绍下Aidl在系统中的应用模型:
2.Aidl项目--图书管理
小小图书馆开业了,为了满足广大书虫的查阅图书需求,老板决定做一个晓晓的App
首先确定需求:
获取图书列表
添加新书
新书到了,给个提醒
开动开动
设置的Aidl接口
实现类 这里是单独抽成一个类,也可以直接做成内部类
这个就是我们自己的XxxManager管理类,封装了所有要进行的操作.
这里使用一个Service扮演另外一个进程,注意,如果是另外一个App中,需要export / enable属性
此外,为了控制访问安全问题,这里自定义了一个权限给Service
在BookManager中进行校验
好了,走到这里,基本功能应该具备了,剩下的就是披上一个美美的UI外套,打扮一下,分分钟上线^V^
3.分享下多进程的那些事
Q1.多进程有哪些应用?
1.获取多分内存空间
2.多个应用之间进行数据交流
3.保活的一种手段: 黑色保活 , 所谓的互相唤醒功能
Q2.多进程的那些坑
1.Application多次重建 : 在Application基类中通过进程Id进行判断,只有指定进程才进行相关加载
2.断点调试问题 : 要么直接去掉process,使之运行在同一个进程,要么断点调试时,同时对对应进程Attach Debugger
3.文件数据库操作问题 : 将对文件操作部分都放在主进程,可以在子进程通过aidl通知主进程进行操作.
4.End
以上就是本次分享的内容,仅代表个人意见,有不同的意见,欢迎交流