排序:
默认
按更新时间
按访问量

Zygote进程

Zygote简介 zygote是Android一个非常重要的进程,和init、systemServer进程这三个进程是Android系统非常重要的进程。 Linux的进程是通过fork产生,fork出来的进程除了一些核心数据结构和父进程不一样,其余的内存映像都是和父进程共享的。通常子进程for...

2018-10-31 16:18:04

阅读数:61

评论数:0

vim命令

1. 设置搜索高亮 linux vim打开文档搜索字符串时,设置被搜索到字符串高亮显示。 有两种方法: 1、临时设置:vim打开文档-->命令行形式输入set hlsearch。 缺点:关闭文档后,下次打开,又需要重新设置一遍。 2、永久设置(推荐):在~/.v...

2018-09-11 16:07:00

阅读数:103

评论数:0

android log各个文件整理

这篇博客我们罗列下各个log日志的头文件的使用。 java层: 1.android.util.Log; 2.android.util.Slog; 3.android.util.Rlog 最后通过了native调用了__android_log_buf_write函数,这个函数是通过了log...

2018-09-10 15:11:14

阅读数:131

评论数:0

logging.h提供的功能

这篇博客我们来分析logging.h提供的功能,引用这个文件可以#include <android-base/logging.h>,而这个文件在logging.cpp中实现。 首先我们来看下其注释:提供了一个c++ stream的接口,而且PLOG会打...

2018-09-10 10:58:41

阅读数:167

评论数:0

Android8.0 user版本使用adb root(且不用授权adb key)

在之前的几篇adb文章中,我们清楚了adb root和adb key授权的流程。这篇文章我们我们主要分析下android8.0 上如何在user版本上adb root以及不用adb key的授权。 首先我们在adbd_main函数中将auth_required置为false,这个变量的用处我们在...

2018-09-06 09:42:11

阅读数:671

评论数:0

recover模式下的adbd

recover模式下的adbd是用了一个libminadbd的静态库,我们来看下mk文件 LOCAL_SRC_FILES := \ fuse_adb_provider.cpp \ minadbd.cpp \ minadbd_services.cpp \ LOCAL_C...

2018-08-30 18:25:31

阅读数:87

评论数:0

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

这一节主要补充,在现在android 8上和之前比的新特性(仅仅是自己新发现,不清楚哪个版本加入或者是以前自己没发现)。 1. init.rc中加入了对vendor下面手机厂商自己的rc文件,这样不用重新编译bootimage,只要push自己rc文件到vendor/etc/init/hw。而且...

2018-08-30 10:06:54

阅读数:145

评论数:0

Android9.0 应用待机群组

一、概述  Android 9 引入了一项新的电池管理功能,即应用待机群组。应用待机群组可以基于应用最近使用时间和使用频率,帮助系统排定应用请求资源的优先级。 根据使用模式,每个应用都会归类到五个优先级群组之一中。 系统将根据应用所属的群组限制每个应用可以访问的设备资源。 五个群组按照以下特性...

2018-08-24 20:35:08

阅读数:720

评论数:0

Android 8.0 App Standby

一、概述 低电耗模式和应用待机模式是从Android M引入的新特性,之前一直没有分析,低电耗模式就是Doze,应用待机模式就是 App Standby。 Doze模式我们之前分析过了,Doze模式在Android N又有修改,Android 6.0(API 级别 23)引入了低电耗模式,当用...

2018-08-22 16:32:37

阅读数:250

评论数:0

功能机用上下键实现MoveEvent

这个功能的用处功能手机(这里说的功能机只是没有触屏,单还是Android系统)能在浏览器中使用上下键实现移动光标的目的,这里我们大致分析流程。 我们知道普通按键,会在KeyboardInputMapper的process执行,比如这里我们要关注的上下左右按键。 void KeyboardIn...

2018-06-14 09:33:23

阅读数:133

评论数:0

温控daemon(七)ss算法

monitor算法是一种静态算法,超过阈值就限制为多少频率,或者做什么处理,ss不一样它是一种动态算法。下面我们就从代码层面进行分析。也是在main函数中调用了ss_algo_init函数。1. ss_algo_init我们来看下这个函数的前半段函数,这里主要先是过滤配置中的setting,然后创...

2018-06-07 15:29:57

阅读数:340

评论数:1

温控daemon(六)Monitor算法

Monitor算法温控的常见算法之一,在main函数中调用了thermal_monitor函数.1. thermal_monitor函数thermal_monitor函数先是从dev_list中获取了各个device_info放入device_info_arr中,然后过滤setting放入tm_s...

2018-06-05 20:49:50

阅读数:291

评论数:0

温控daemon(五)socket监控

这篇博客我们主要分析thermal-engine的socket监控,包括应用client的注册回调,以及client发送thermal消息都是通过socket。在thermal-engine启动分析的时候我们看到其创建了4个socket。1. socket初始化我们从main函数的thermal_...

2018-06-05 14:20:09

阅读数:251

评论数:0

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

这篇博客我们主要分析thermal-engine中如何加载配置文件,包括代码中和配置文件。这里主要分析下thermal和ss算法的配置。加载配置,在main函数中主要涉及如下代码。 init_settings(&thermal_settings); pid_init_d...

2018-06-04 16:48:52

阅读数:238

评论数:0

温控daemon(三)sensor初始化

既上一篇博客继续分析main函数,上一篇博客我们分析了devices_init device的初始化,这篇博客先是分析保持KTM工作,后面主要分析sensor的初始化,。 1. 保持KTM工作 我们先来看如下,先是创建了一个kernel的client,然后因为有kernel 的device,所...

2018-06-04 15:17:34

阅读数:362

评论数:0

温控daemon(二)启动参数解析、device初始化

这样我们主要开始将thermal-engine的流程。1. thermal-engine启动先从启动开始说起,在init.target.rc中定义了thermal-engine为一个service,并且属于main class,随main服务一起启动。service thermal-engine ...

2018-06-01 15:18:53

阅读数:640

评论数:0

温控daemon(一)概述

thermal-engine是高通开发的一套通过检测android设备上的各个sensor是否温度过高,来限制cpu频率、cpu热插拔、gpu频率、carmera帧率,modem、LCD等各个模块的性能。温控模块分为用户层的thermal-engine和kernel层的KTM,当thermal-e...

2018-05-31 15:45:33

阅读数:467

评论数:0

实际用户ID,有效用户ID和设置用户ID(S_ISUID)

  看UNIX相关的书时经常能遇到这几个概念,但一直没有好好去理清这几个概念,以致对这几个概念一直一知半解。今天好好区分了一下这几个概念并总结如下。说白了这几个UID引出都是为了系统的权限管理。       下面分别用RUID, EUID,SUID来表示实际用户ID,有效用户ID,设置用...

2018-03-07 09:23:43

阅读数:347

评论数:1

android 中UID与PID的作用与区别

PID:为Process Identifier, PID就是各进程的身份标识,程序一运行系统就会自动分配给进程一个独一无二的PID。进程中止后PID被系统回收,可能会被继续分配给新运行的程序,但是在android系统中一般不会把已经kill掉的进程ID重新分配给新的进程,新产生进程的进程号,一般比...

2018-03-06 21:46:00

阅读数:337

评论数:0

fcntl设置FD_CLOEXEC标志作用

 通过fcntl设置FD_CLOEXEC标志有什么用? close on exec, not on-fork, 意为如果对描述符设置了FD_CLOEXEC,使用execl执行的程序里,此描述符被关闭,不能再使用它,但是在使用fork调用的子进程中,此描述符并不关闭,仍可使用。 eg: ...

2018-03-06 20:09:44

阅读数:103

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭