Zeng's Blog

心之所向,素履以往


  • 首页

  • 归档

  • 标签

  • 分类

  • 关于

Android系统按键(海思为例)上报流程

发表于 2019-01-18 | 分类于 Android输入事件
android系统的键值转换,从linux到java共经历3个层次,分别是: linux系统层,原始ir键值读取,转变为linux层键值 framework层,linux层键值转换为android键值 framework层,android键值上报java层 原始ir键值读取,转变为linux层键 ...
阅读全文 »

键值从键盘到Linux内核传输过程分析

发表于 2019-01-18 | 分类于 Android 输入系统
客户要定制一款usb无线遥控器(其实走的键盘流程),要添加一个特殊键,遥控器厂商让我们确定键值。 getevent指令用于获取 input 输入事件,比如获取按键上报信息、获取触摸屏上报信息等。 通过getevent -l查看分别按红外遥控器和无线遥控器的方向上键的事件信息如下: event0是红 ...
阅读全文 »

关于Git的讲解

发表于 2018-11-26 | 分类于 工具
看到掘金上有一篇关于Git的写的很好的文章。 原文:一篇文章,教你学会Git 在日常工作中,经常会用到Git操作。但是对于新人来讲,刚上来对Git很陌生,操作起来也很懵逼。本篇文章主要针对刚开始接触Git的新人,理解Git的基本原理,掌握常用的一些命令。 Git工作流程 以上包括一些简单而常用的 ...
阅读全文 »

设计模式(二)单例模式的七种写法

发表于 2018-11-19 | 分类于 设计模式
定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点。 单例模式结构图: 单例模式有多种写法各有利弊,现在我们来看看各种模式写法。 ###饿汉模式 12345678public class Singleton { private static Singleton inst ...
阅读全文 »

设计模式(一)设计六大原则

发表于 2018-11-19 | 分类于 设计模式
单一职责原则(SRP)定义:就一个类而言,应该仅有一个引起它变化的原因。从这句定义我们很难理解它的含义,通俗讲就是我们不要让一个类承担过多的职责。如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设 ...
阅读全文 »

Android Property机制

发表于 2018-11-15
概述Android系统(本文以Android 4.4为准)的属性(Property)机制有点儿类似Windows系统的注册表,其中的每个属性被组织成简单的键值对(key/value)供外界使用。 ​ 我们可以通过在adb shell里敲入getprop命令来获取当前系统的所有属性内容,而且, ...
阅读全文 »

Android首次启动时间长优化之预编译提取Odex

发表于 2018-11-07 | 分类于 framework
如果我们在user版本用mm编译apk时,会在out目录下生成.apk和一个oat目录,里边有.odex文件。 但是发现直接用adb push ,把生成的整个app目录<包括apk、oat、lib> 推到app安装目录,并不会生效,而是需要重启之后才会生效。这个问题纠结了很久,直到最近看 ...
阅读全文 »

Android运行时ART加载OAT文件的过程分析

发表于 2018-11-07 | 分类于 framework
​ OAT文件是一种Android私有ELF文件格式,它不仅包含有从DEX文件翻译而来的本地机器指令,还包含有原来的DEX文件内容。这使得我们无需重新编译原有的APK就可以让它正常地在ART里面运行,也就是我们不需要改变原来的APK编程接口。本文我们通过OAT文件的加载过程分析OAT文件的结构 ...
阅读全文 »

Android运行时ART简要介绍

发表于 2018-11-07 | 分类于 framework
Android在4.4就已推出新运行时ART,准备替代用了有些时日的Dalvik。 Andoid与iOS相比,一直被人诟病它的流畅性。Android的流畅性问题,有一部分原因就归结于它的应用程序和部分系统服务是运行虚拟机之上的,也就是运行在Dalvik虚拟机之上,而iOS的应用程序和系统服务都是直接 ...
阅读全文 »

Android Binder(二)相关接口和类

发表于 2018-10-21 | 分类于 IPC
Binder的跨进程机制上一篇文章已近说了Binder的设计原理,再看一下Binder示意图。 图中A侧的圆形块,表示“Binder代理方”,主要用于向远方发送语义,而B侧的方形块则表示“Binder响应方”,主要用于响应语义。在后文中,我们可以看到,Binder代理方大概对应于C++层次的BpB ...
阅读全文 »
12…6
zeng

zeng

56 日志
15 分类
38 标签
© 2016 — 2019 zeng
由 Hexo 强力驱动
|
主题 — NexT.Pisces v5.1.4