- 博客(5)
- 收藏
- 关注
原创 Android匿名共享内存(Ashmem)原理
不过,在这里没直接看到内存分配的函数。但是,有两个函数shmem_file_setup与shmem_set_file很重要,也是共享内存比较不好理解的地方,shmem_file_setup是原生linux的共享内存机制,不过Android也修改Linux共享内存的驱动代码,匿名共享内存其实就是在Linux共享内存的基础上做了改进,可以看到,Linux共享内存通信效率非常高,进程间不需要传递数据,便可以直接访问,缺点也很明显,Linux共享内存没有提供同步的机制,在使用时,要借助其他的手段来处理进程间同步。
2024-09-07 14:58:15 245
原创 Android 中几种优雅的退出APP方式介绍
2021222324252627282930313233123456789101112131415161718192021222324252627282930313233这种方式是有一定的缺点的,我们的工具类ActivityUtils持有Activity的引用,当我们的应用发生异常,ActivityUtils持有的引用没有被销毁会导致部分内存问题,而且代码量多,不够优雅,诸多不便。
2024-09-07 02:48:05 17
原创 Android - AndroidStudio更改缓存目录
在技术领域内,没有任何一门课程可以让你学完后一劳永逸,再好的课程也只能是“师傅领进门,修行靠个人”。“学无止境”这句话,在任何技术领域,都不只是良好的习惯,更是程序员和工程师们不被时代淘汰、获得更好机会和发展的必要前提。如果你觉得自己学习效率低,缺乏正确的指导,可以一起学习交流!加入我们吧!群内有许多来自一线的技术大牛,也有在小厂或外包公司奋斗的码农,我们致力打造一个平等,高质量的Android交流圈子,不一定能短期就让每个人的技术突飞猛进,但从长远来说,眼光,格局,长远发展的方向才是最重要的。
2024-09-06 20:34:58 560
原创 java中String new和直接赋值的区别(空了还要补充)(1)
String 有一个intern() 方法,native,用来检测在String pool是否已经有这个String存在。而String是final的!所以在b+"c"的时候实际上是新创建了一个对象,然后在把新创建对象的引用传给c.在写代码的时候,一般不要 String str2 = new String(“ABC”);str1 == str2 的值是True 还是False呢?str3 == str4 的值是True 还是False呢?str3 == str5 的值是True 还是False呢?
2024-09-05 09:03:49 276
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人