小李飞刀

小李飞刀

士不可不弘毅,任重而道远

Android进程间通信Binder(二)

Android进程间通信Binder(二)

在Binde的第一篇文章里面,讲到了service manager启动后,他的binder线程阻塞在等待队列中,要等到有新任务把他唤醒。我们知道一些常用的服务比如AMS,PMS等都是通过addService放到注册到service manager中的,但是在调用addService之前,我们怎么获得

2023-08-21
515 0
Android进程间通信Binder(一)

Android进程间通信Binder(一)

对于android开发者来说,相信binder都听说过,但是binder不像四大组件哪些之类的,具体的我们可以很直观感受到的模块,好像总是有一种说不上但是时时刻刻存在的感觉。的确,binder对于我们平时开发虽然接触没有直接的感觉,但是他确存在于几乎每一个程序之间,甚至可以说是最重要的基石之一,如果

2023-08-21
493 0
Android日志模块解析四

Android日志模块解析四

上篇文章说到日志读取的Logcat工具初始化,在准备工作做完后,最后调用了readLogLines方法,今天就开始来说这个方法。

2023-07-31
538 0
Android日志模块解析三

Android日志模块解析三

前两篇文章主要从应用到内核,把日志的写入过程说完了,这篇文章我们来说一下,日志的读取过程。一般对于我们开发者来说,在开发应用过程中,日志对应用的功能实现是没有影响的,主要是在出现问题的时候,我们会去从日志文件中寻找线索,所以读取日志的过程其实就是从前面说的写入的日志文件中,把日志给解析出来,其实就是

2023-07-30
591 0
Android日志模块解析二

Android日志模块解析二

上篇文章从开始的app中打印一条log开始一直讲到进入到运行库中调用设备的write方法,现在开始要进入内核来写日志了。下面开始先介绍下内核中和日志有关的类中相关的变量和方法。// 文件路径 drivers/staging/android/logger.c#define LOGGER_LOG_RA

2023-07-28
517 0
Android日志模块解析一

Android日志模块解析一

大家在平日的android开发中,可能每个人负责的模块不一样,所以接触到的代码别人有些也不熟悉,但是有一个模块肯定对于几乎所有人都是知道的,工作中肯定也是都会接触到了,那就是日志模块,也叫log。虽然log对具体的每个功能没有直接的影响,但是却对开发来说至关重要,我们开发出的程序不可能没有问题,一旦

2023-07-28
501 0
Android智能指针之弱引用指针

Android智能指针之弱引用指针

前面已经说过了轻量级智能指针和强引用智能指针,今天来说一下最后一个弱引用智能指针。弱引用指针的概念其实和前面介绍的强引用关系是比较密切的,再了解了强引用的基础上再来看弱引用,这样逻辑上就可以比较通顺了。相对前2个智能指针而言,弱引用智能指针算是最复杂的一个(其实也还好,理解了强引用,其实也就比较容易

2023-07-26
511 0
Android智能指针之强引用指针

Android智能指针之强引用指针

之前文章说了智能指针中的轻量级指针,对于轻量级指针还是比较好理解的,现在这篇文章就来说一下强引用指针。具体说强引用指针之前,先说一个场景,有助于对为什么要有强引用指针以及接下去要说的弱引用指针有个比较直观的理解。

2023-07-24
572 0
Android的智能指针之轻量级指针

Android的智能指针之轻量级指针

对于C或者C的开发来说,大家都知道最麻烦的地方就是指针的操作,尤其是指针引起的内存泄漏问题更是一个痛点。当前对于java来说,由于没有了指针,相对来说会好一些,但是这是由于JVM已经代替我们处理了很多情况,JVM本身也是由C/C来开发的,所以最终其实对于指针的操作还是绕不过去的。Android的应用

2023-07-23
514 0