kc专栏
码龄11年
  • 1,555,187
    被访问
  • 287
    原创
  • 1,533,422
    排名
  • 1,075
    粉丝
关注
提问 私信

个人简介:深入探索android Framework层代码,博客持续更新中!!!

  • 加入CSDN时间: 2011-07-06
博客简介:

kc58236582的博客

查看详细资料
个人成就
  • 获得717次点赞
  • 内容获得230次评论
  • 获得694次收藏
创作历程
  • 1篇
    2021年
  • 2篇
    2020年
  • 50篇
    2019年
  • 7篇
    2018年
  • 33篇
    2017年
  • 182篇
    2016年
  • 131篇
    2015年
成就勋章
TA的专栏
  • 图像
    1篇
  • makefile
    3篇
  • Android Framework
    83篇
  • c++
    1篇
  • Linux
    29篇
  • java
    8篇
  • Android Apk
    28篇
  • 模式
    9篇
  • android & linux编译相关 &工具
    20篇
  • unix & linux书籍
    13篇
  • android存储
    25篇
  • android电源
    41篇
  • android按键
    18篇
  • android log机制
    9篇
  • android消息机制
    6篇
  • android Service
    3篇
  • android Binder机制
    7篇
  • android selinux
    8篇
  • android adb
    10篇
  • android init
    6篇
  • android显示系统
    24篇
  • android PackageManager
    16篇
  • android WMS
    21篇
  • 算法编程
    9篇
  • android thermal
    13篇
  • Linux driver
    2篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

知识点

1.epoll select poll区别epoll的优点:1、没有最大并发连接的限制,能打开的FD的上限远大于1024(1G的内存上能监听约10万个端口);2、效率提升,不是轮询的方式,不会随着FD数目的增加效率下降。只有活跃可用的FD才会调用callback函数;即Epoll最大的优点就在于它只管你“活跃”的连接,而跟连接总数无关,因此在实际的网络环境中,Epoll的效率就会远远高于select和poll。3、 内存拷贝,利用mmap()文件映射内存加速与内核空间的消息传递;即epoll使用
原创
发布博客 2021.03.05 ·
144 阅读 ·
1 点赞 ·
0 评论

图像基础随记

双线性内插法https://blog.csdn.net/baidu_38172402/article/details/82820162通路、m连通、距离https://blog.csdn.net/u010622874/article/details/51719556
原创
发布博客 2020.08.25 ·
144 阅读 ·
0 点赞 ·
0 评论

使用gdb 查看coredump堆栈信息

简介core dump 一般是在segmentation fault(段错误)的情况下产生的文件,需要通过ulimit来设置才会得到的。调试的话输入: gdb filename core filename就是产生core文件的可执行文件,core就是产生的dump文件查看栈信息—————当程序被停住了,你需要做的第一件事就是查看程序是在哪里停住的。当你的程序调用了一...
原创
发布博客 2020.04.15 ·
4050 阅读 ·
2 点赞 ·
0 评论

gcc、cc、c++、g++命令行详解

1、gcc包含的c/c++编译器gcc、cc、c++、g++gcc和cc是一样的,c++和g++是一样的,一般c程序就用gcc编译,c++程序就用g++编译2、gcc的基本用法gcc test.c这样将编译出一个名为a.out的程序gcc test.c -o test这样将编译出一个名为test的程序-o参数用来指定生成程序的名字3、为什么会出现undefined refer...
转载
发布博客 2019.10.17 ·
626 阅读 ·
1 点赞 ·
1 评论

linux ldconfig命令,环境变量文件配置详解

ldconfig参考:http://man.linuxde.net/ldconfighttps://blog.csdn.net/chenzixun0/article/details/56278632主要是在默认搜寻目录/lib和/usr/lib以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库(格式如lib*.so*),进而创建出动态装入程序(ld...
转载
发布博客 2019.10.16 ·
327 阅读 ·
0 点赞 ·
0 评论

configure, Makefile.am, Makefile.in,Makefile之间的关系

1.autoscan (autoconf): 扫描源代码以搜寻普通的可移植性问题,比如检查编译器,库,头文件等,生成文件configure.scan,它是configure.ac的一个雏形。 your source files --> [autoscan*] --> [configure.scan] --> configure.ac2.aclocal (a...
转载
发布博客 2019.10.15 ·
145 阅读 ·
2 点赞 ·
0 评论

温控daemon(八)总结

温控的daemon,可以分为device、sensor、algorithm三大块。1. device一般为cpu、gpu等,具体可以调频、拔核等。2. sensor一般为温度的sensor,每个sensor会启动两个thread:其中一个thread用来检测sensor的温度,上层会设置thresholds到sensor驱动,然后daemon会使用poll等待驱动是事件,当温度大...
原创
发布博客 2019.02.28 ·
629 阅读 ·
2 点赞 ·
0 评论

温控驱动(五)dts参数解析、节点作用

我们先看下dts中,各个参数的分析如下:poll-ms代表KTM检测温度的间隔limit-temp KTM调频的温度temp-hysteresis 当温度降到limit-temp - temp-hysteresis 频率升到前面档位freq-step 每次调频的步长(就是cpu频率的档位)core-limit-temp代表KTM拔核(除cpu0)的温度core-temp-h...
原创
发布博客 2019.02.27 ·
1902 阅读 ·
3 点赞 ·
0 评论

功能机用上下键实现MoveEvent

这个功能的用处功能手机(这里说的功能机只是没有触屏,单还是Android系统)能在浏览器中使用上下键实现移动光标的目的,这里我们大致分析流程。我们知道普通按键,会在KeyboardInputMapper的process执行,比如这里我们要关注的上下左右按键。void KeyboardInputMapper::process(const RawEvent* rawEvent) {#if ...
原创
发布博客 2019.01.22 ·
912 阅读 ·
0 点赞 ·
0 评论

Zygote进程

Zygote简介zygote是Android一个非常重要的进程,和init、systemServer进程这三个进程是Android系统非常重要的进程。Linux的进程是通过fork产生,fork出来的进程除了一些核心数据结构和父进程不一样,其余的内存映像都是和父进程共享的。通常子进程fork出来后,会继续执行exec。exec将用一个新的可执行文件的内容替代当前进程的代码段、数据段、堆和栈...
原创
发布博客 2019.01.22 ·
1057 阅读 ·
3 点赞 ·
0 评论

android log各个文件整理

这篇博客我们罗列下各个log日志的头文件的使用。java层:1.android.util.Log;2.android.util.Slog;3.android.util.Rlog最后通过了native调用了__android_log_buf_write函数,这个函数是通过了log/log.h(就是liblog)的头文件中引用的log_id.h文件的函数。c层:1. uti...
原创
发布博客 2019.01.22 ·
1881 阅读 ·
2 点赞 ·
0 评论

Android8.0 user版本adb 的log输出到串口中

我们在调试adb时不能使用logcat,这个时候我们需要把adb的log输出到串口,init就能实现,我们仿造init的代码,在adbd的main函数中调用了如下函数InitKernelLogging(nullptr);这个函数在init进程中也有调用。这个函数的意思把标准输入输出,标准错误全部写到/sys/fs/selinux/null,也就没有了。然后定了一InitLogging为kernel...
原创
发布博客 2019.01.22 ·
1403 阅读 ·
1 点赞 ·
0 评论

logging.h提供的功能

这篇博客我们来分析logging.h提供的功能,引用这个文件可以#include <android-base/logging.h>,而这个文件在logging.cpp中实现。首先我们来看下其注释:提供了一个c++ stream的接口,而且PLOG会打印出具体的错误,还支持logcat,stderr,dmesg的打印。//// Google-style C++ logging...
原创
发布博客 2019.01.22 ·
3250 阅读 ·
2 点赞 ·
0 评论

android Init进程新特性(截止android 8)

这一节主要补充,在现在android 8上和之前比的新特性(仅仅是自己新发现,不清楚哪个版本加入或者是以前自己没发现)。1. init.rc中加入了对vendor下面手机厂商自己的rc文件,这样不用重新编译bootimage,只要push自己rc文件到vendor/etc/init/hw。而且自己的rc文件完全独立原生的rc文件import /vendor/etc/init/hw/ini...
原创
发布博客 2019.01.22 ·
747 阅读 ·
1 点赞 ·
0 评论

Android9.0 应用待机群组

一、概述 Android 9 引入了一项新的电池管理功能,即应用待机群组。应用待机群组可以基于应用最近使用时间和使用频率,帮助系统排定应用请求资源的优先级。 根据使用模式,每个应用都会归类到五个优先级群组之一中。 系统将根据应用所属的群组限制每个应用可以访问的设备资源。五个群组按照以下特性将应用分组:活跃如果用户当前正在使用应用,应用将被归到“活跃”群组中,例如:应用已启动一个...
原创
发布博客 2019.01.22 ·
6247 阅读 ·
2 点赞 ·
0 评论

Android 8.0 App Standby

一、概述低电耗模式和应用待机模式是从Android M引入的新特性,之前一直没有分析,低电耗模式就是Doze,应用待机模式就是 App Standby。Doze模式我们之前分析过了,Doze模式在Android N又有修改,Android 6.0(API 级别 23)引入了低电耗模式,当用户设备未插接电源、处于静止状态且屏幕关闭时,该模式会推迟 CPU 和网络活动,从而延长电池寿命。而 A...
原创
发布博客 2019.01.22 ·
1485 阅读 ·
1 点赞 ·
0 评论

温控daemon(七)ss算法

monitor算法是一种静态算法,超过阈值就限制为多少频率,或者做什么处理,ss不一样它是一种动态算法。下面我们就从代码层面进行分析。也是在main函数中调用了ss_algo_init函数。1. ss_algo_init我们来看下这个函数的前半段函数,这里主要先是过滤配置中的setting,然后创建sensor的device的client,然后就是获取devie信息,还有就是将devi...
原创
发布博客 2019.01.22 ·
1654 阅读 ·
3 点赞 ·
1 评论

温控daemon(六)Monitor算法

Monitor算法温控的常见算法之一,在main函数中调用了thermal_monitor函数.Monitor算法是一种静态算法,当超过每一个设置的温度值就会调频,当小于clr的温度就会停止调频算法。1. thermal_monitor函数thermal_monitor函数先是从dev_list中获取了各个device_info放入device_info_arr中,然后过滤setting放...
原创
发布博客 2019.01.22 ·
2064 阅读 ·
3 点赞 ·
0 评论

温控daemon(五)socket监控

这篇博客我们主要分析thermal-engine的socket监控,包括应用client的注册回调,以及client发送thermal消息都是通过socket。在thermal-engine启动分析的时候我们看到其创建了4个socket。1. socket初始化我们从main函数的thermal_server_init函数分析,这个函数其实流程很简单,对创建的4个socket,therma...
原创
发布博客 2019.01.22 ·
1260 阅读 ·
1 点赞 ·
0 评论

温控daemon(四)加载配置文件

这篇博客我们主要分析thermal-engine中如何加载配置文件,包括代码中和配置文件。这里主要分析下thermal和ss算法的配置。加载配置,在main函数中主要涉及如下代码。 init_settings(&thermal_settings); pid_init_data(&thermal_settings);//pid算法我们平台disable后续分析 the...
原创
发布博客 2019.01.22 ·
931 阅读 ·
1 点赞 ·
0 评论
加载更多