1.Linux的孤儿进程和僵尸进程的产生和如何避免。
https://www.cnblogs.com/Anker/p/3271773.html
有一个需求,是在apk被卸载的时候做点事情。看到网上的一些做法,基本都是利用jni来fork一个子进程,然后用这个子进程来监控apk卸载时会被删除的数据文件,在监控到这个文件被删除时,这时子进程变成了孤儿进程,由init接管,但是还是可以继续运行,来做前面要求卸载的时候需要做的事情。这个博主对孤儿进程和僵尸进程的产生写的很清楚。
2.在apk被卸载时打开某个网页。
http://blog.51cto.com/sunzeduo/1376117
实测没什么用,猜测是因为卸载时的机制变化了,fork出来的进程也会在卸载的时候一次被干掉,所以通过fork出子进程来监控和apk数据相关的文件夹的方法没用了。 但是关于fork一个子进程,还有inotify搭配poll来监控文件夹的方法还是值得学习的。
3. Android 7.0中rild的工作原理
https://blog.csdn.net/gaugamela/article/details/52523143
这个博主写的关于rild的工作原理非常详细透彻。 先介绍基于Rild的通信架构-->rild在rc文件中的启动-->rild的main函数(包括RIL_startEventLoop、RIL_Init、RIL_Register)。之后还实例分析了rild的工作过程。是写得非常细致用心的博文,值得反复读的。
4. 深入理解Vold和Rild
http://wiki.jikexueyuan.com/project/deep-android-v1/vold-rild.html
这篇也是在看rild过程中查看到的。只看到了其中rild的部分。虽然排版不咋地,但是内容也是很不错的。值得学习。
https://www.cnblogs.com/frank-yxs/p/5925639.html
关于sync,fsync的区别。 以前只知道在关机或者build code 之后敲一下sync,实际上,并不知道是怎么回事。 这篇文章很精简,说的很清楚。 sync是将缓存中的数据加入到写队列,不等真的写入到磁盘。fsync是立即写入到磁盘中,但是效率会低。
6. java 异常捕捉 ( try catch finally ) 你真的掌握了吗?
java 异常捕捉 ( try catch finally ) 你真的掌握了吗? - fancydeepin - BlogJava
关于try,catch,finally的执行的总结。
1).如果try中无异常,但是有finally,就要在try 中的return之前先去执行finally中的部分,如果finally中有return那就直接return这里的值。
2).如果try里面有抛出异常,那么会跳过异常之后的try中语句去处理catch中的内容,但是finally中的内容仍然是要看的。