Android开发进阶
文章平均质量分 67
分享关于Android开发的经验技巧
程序员小迷
从前有只猫,它不去抓老鼠,而是想吃面包店的面包,最终它变成了人.
展开
-
页面绘制的来龙去脉
1)如果是单重缓冲,页面可能会有这种情况:A 数据需要显示,然后是 B 数据显示,B 数据显示需要耗费一定时间,但是这个时间里,C 数据也请求了展示,我们可能会看到,在展示 C 数据的时候,还有 B 数据的残影。原创 2024-08-10 10:57:13 · 450 阅读 · 0 评论 -
Binder、 AIDL 、IPC 大展神威
9.在AIDL中,in、out、inout标识符用来表示数据的流向:in表示数据只能由客户端流向服务端,out表示数据只能由服务端流向客户端,而inout表示数据可在服务端与客户端之间双向流通。原创 2024-08-04 11:24:56 · 488 阅读 · 0 评论 -
SystemServer 进程的启动流程
Installer 类是系统安装 apk 时的一个服务类,继承 自SystemService(系统服务的一个抽象接口),需要在启动完Installer 服务之后才能启动其他的系统服务。原创 2024-08-03 11:20:21 · 613 阅读 · 0 评论 -
Zygote 进程你不知道的东西
1.Zygote(孵化) 进程是所有 Android进程的父进程,包括SystemServer和各种应用进程都是通过Zygote进程fork出来的。3) 初始化 Zygote 中的各种类,资源文件,OpenGL,类库,Text 资源等。原创 2024-07-28 11:52:41 · 477 阅读 · 0 评论 -
ArrayMap是何方神圣
2.在数据量较小的情况下,ArrayMap比HashMap更节省内存,ArrayMap的查找、删除、插入操作通常比HashMap快,因为它避免了HashMap因哈希计算、哈希冲突和动态扩容带来的性能开销。3.不允许使用重复的键。原创 2024-07-27 10:54:54 · 566 阅读 · 0 评论 -
SparseArray 你不知道的东西
SparseBooleanArray的value为boolean类型,SparseIntArray的value为int类型,SparseLongArray的value为long类型。2.通过二分法来查询、添加、删除、更新数据。原创 2024-07-21 11:06:32 · 318 阅读 · 0 评论 -
SharedPreferences 和 MMKV 是何方神圣
3.通过内存映射文件mmap(Memory Mapped File)存储Key-Value对和高效的编解码算法,将数据直接映射到内存中,避免了数据的序列化和反序列化过程,实现了极高的读写性能。数据较多时会有性能问题。原创 2024-07-20 11:24:08 · 516 阅读 · 0 评论 -
界面刷新你不知道的东西
因为SurfaceView的内容不在应用窗口上,是在应用窗口之外的一个独立的绘图表面Surface(显示在应用程序窗口之上)上进行绘制,所以不能使用变换(平移(Translate)、缩放(Scale)、旋转(Rotate)、倾斜(Skew)等)。原创 2024-07-13 11:23:31 · 523 阅读 · 0 评论 -
Android中正确启动一个页面的方法
若当前App在后台,则将当前App拉起到前台,不改变源App的当前打开页面。若App未启动,则启动App到前台。1.通过要启动的Activity的类名直接启动一个Activity,假设要启动的Activity的类名为TestActivity。原创 2024-05-07 19:45:48 · 590 阅读 · 0 评论 -
Android输入法与扫码枪冲突问题解决方案
在Android中,有时一个文本输入框EditText获得焦点后用扫码枪进行扫码输入,而不是通常的用输入法输入,这时EditText对输入法和扫码枪的处理可能存在冲突,造成输入异常。这时可以使用自定义EditText来解决,代码如下。原创 2024-05-06 11:24:38 · 451 阅读 · 3 评论 -
嵌套滑动解决之法
1.竖向滑动的RecyclerView重写canScrollVertically()方法,水平滑动的RecyclerView重写canScrollHorizontally方法。微风不燥,阳光正好,你就像风一样经过这里,愿你停留的片刻温暖舒心。原创 2024-05-06 11:19:45 · 427 阅读 · 0 评论 -
Android平台下adb命令的使用技巧
Android允许我们通过ADB,把Android上的某个端口映射到电脑的某个端口(adb reverse),或者把电脑的某个端口映射到Android系统的某个端口(adb forward)。原创 2024-05-04 11:48:13 · 710 阅读 · 1 评论 -
Android常用开源库所使用的设计模式有哪些?
在RxJava中,Observable(被观察者)发出事件或数据项,而Observer(观察者)或Subscriber(订阅者)则订阅这些事件,并对它们进行响应。Gson在创建特定类型的对象时,如解析器和序列化器时,使用工厂模式。原创 2024-05-01 11:47:14 · 360 阅读 · 0 评论 -
Android常用开源库所使用的设计模式有哪些?
在RxJava中,Observable(被观察者)发出事件或数据项,而Observer(观察者)或Subscriber(订阅者)则订阅这些事件,并对它们进行响应。Gson在创建特定类型的对象时,如解析器和序列化器时,使用工厂模式。原创 2024-04-26 15:59:23 · 485 阅读 · 1 评论