自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 小米多主题思路分析-重定向资源篇

首先声明一下,该文章分析参考小米MIUI多主题一文中的介绍:Android系统如何实现换肤及MIUI 文档名称:《MIUI主题风格_一种Android系统换肤功能的设计》大家可自行搜索下载。 另外考虑到排版的问题,在分析源码的过程中只会留下关键的点,太长的源码会以“代码段x.x{}”替代省略。但是主要的逻辑我会描述清楚。 1 什么是系统主题? 这一段这样的对话: 领导问我,主题能替

2017-11-15 00:22:14 1868 1

原创 Android SensorService源码分析(二)

继续上一篇文章,继续分析关于SensorService的第三和第四部分: 三: 应用注册Sensor数据监听的过程 四: sensor数据分发的过程三 应用注册Sensor数据监听的过程。1 SystemSensorManager 的 registerListenerImpl 函数 protected boolean registerListenerImpl(SensorEventList

2017-11-15 00:09:20 4050

原创 Android SensorService源码分析(一)

最近收到任务,要把陀螺仪的数据对接到上层,分发应用。就赶紧看了一下Sensor服务相关的代码。本来是想熟悉之后可以在调试过程中能有的放矢。结果我们这个车载方案有些区别,看的这些东西根本没用上。这里还是整理一下Sensor服务相关的点。 我们的系统可能存在多个传感器,像陀螺仪,加速传感,接近传感,磁力传感器、方向传感等等,Sensor服务需要管理所有传感器,负责他们数据的分发和监听,还有传感融

2017-11-15 00:04:41 4129 3

原创 RecentsTask分析Android5.0

Android的SystemUI应用,为用户提供查看最近使用应用的列表,当用户点击Switch按键时,PhoneWindowManager会拦截此次key事件,拦截后调用StatusBarManagerService 接口,StatusBarManagerService通过调用mBar(SystemUI 注册到StatusBarManagerService的Binder对象)通知SystemUI启动

2016-11-26 12:00:36 2354 2

原创 Configuration(Android 6.0)

说到Configuration,大家最熟悉的想必是android:configChanges=[“mcc”, “mnc”, “locale”,”touchscreen”, “keyboard”, “keyboardHidden”,”navigation”,”screenLayout”, “fontScale”, “uiMode”,”orientation”, “screenSize”, “small

2016-10-06 22:43:02 4234 1

原创 DroidPlugin源码分析服务与静态广播的处理

上一篇文章分析过DroidPlugin对Activity的处理过程,不得不为对DroidPlugin的工程师们钦佩不已,那么是不是Service可以像Activity的处理过程一样来处理呢?前面讲过每一个代理进程只是预定义了一个Service,如果某一个插件中有多个Service,那岂不是某一个时刻只能有一个Service运行呢?由此可以判定可能Service的处理和Activity不一样。一方面:

2016-07-23 03:37:59 1469

原创 DroidPlugin源码分析处理Activity的启动

正常情况下启动一个Activity,首先需要在AndroidManifest文件中声明,其次需要把该应用安装到手机系统中。 而插件apk是没有正在安装到手机系统中的,也就按照正常的启动流程插件Activity是不能启动的。另外插件apk的类需要加载进来是需要指定ClassLoader。前面的文章也大概讲过,当启动一个插件Activity时,先是用预定义的代理Activity替换目标Activity

2016-07-23 03:25:48 2863

原创 DroidPlugin源码分析插件进程管理以及预注册Activity,Service,ContentProvide的选择

在360对DroidPlugin的特点介绍中有云: 插件的四大组件完全不需要在Host程序中注册,支持Service、Activity、BroadcastReceiver、ContentProvider四大组件。 实现了进程管理,插件的空进程会被及时回收,占用内存低。之所以支持Service,Activity,ContentProvider三大组件,是因为DroidPlugin在AndroidM

2016-07-23 03:08:41 2244 1

原创 DroidPlugin源码分析Hook过程

插件运行环境初始化过程中我们知道,Hook的初始化是在PluginHelper的initPlugin函数中通过调用PluginProcessManager.installHook来实现的。而在分析DroidPlugin Hook过程之前需要先简单了解一下Java的动态代理。Java动态代理与之相关的一个类Proxy,一个接口InvocationHandler,一个函数invoke他们之间的关系。就通

2016-07-23 01:52:41 1646

原创 DroidPlugin源码分析插件运行环境初始化

DroidPlugin插件运行环境初始化

2016-07-23 01:27:37 1749

原创 DroidPlugin源码分析安装和卸载

插件Apk的安装

2016-07-23 00:37:03 2789

原创 DroidPlugin源码分析基本介绍

DroidPlugin源码分析基本介绍前段时间,奇虎360在Github上发布了一个Android开源项目DroidPlugin,github地址如下:https://github.com/Qihoo360/DroidPlugin官方文档介绍:DroidPlugin 是360手机助手在Android系统上实现了一种新的插件机制:它可以在无需安装、修改的情况下运行APK文件,此机制对改进大型

2016-07-23 00:12:20 999

原创 android-volley 图片缓存分析与比较

关于android图片缓存开源框架,被程序猿们津津乐道的应该是,Volley , Universal-Image-Loader 和 picasso。关于他们大家问的最多的问题是,到底Volley和UIL那个好?其实我也不知道哪个好,但是我可以帮大家分析分析,大家来评判一下:UIL之前我已近有文章详细分析过了,今天就我想带着对着两个框架的比较来从源码细节分析一下他们的差别。首先说说他们之间关

2014-11-17 18:09:51 868

原创 Android-Universal-Image-Loader简单分析-Core部分

接着Android-Universal-Image-Loader简单分析-Cache部分, 继续看第二部分Core部分:下图是Core文件结构:文件夹部分:decode  主要负责获取不同类型的图片流,转换成bitmapdisplay 主要工作就是把转换成的bitmap按照指定的特性显示出来。download decode就是通过download 来获取不同的图片流。i

2014-11-11 17:41:28 791

原创 Android-Universal-Image-Loader简单分析-Cache部分

程序猿免不了要和图片缓存打交道,最近也跟我杠上了。图片的缓存框架很多,大家所熟知的有Universal Image Loader,还有 volley ,最近在看蘑菇街TeamTalk源码的时候发现了,它用的是picasso。你无法说那个好,那个坏,除非你真的用过.我想他们的原理都一样,只是实现细节方面有些差异罢了!在我的应用里面选用了Universal Image Loader,这个开源框架下

2014-11-10 12:31:22 796

原创 DiskLruCache磁盘图片缓存分析

DiskLruCache磁盘缓存简单分析。一个完善的图片缓存框架不仅包含LruCache(内存缓存),一般也包含DiskLruCache(文件缓存)本文就通过现象简单分析一下DiskLruCache的工作原理。现象是什么呢?直接上图通过图,可以发现有一个日志文件journal 其他的文件都是啥?你们懂的,图片文件。 再打开journal文件看一下内容。libcore.i

2014-10-30 15:36:44 748

原创 phoneGap简单分析

想了解phonegap 开发大概流程,应该知道如下几点。1  js 通过html prompt弹窗接口往anroid native 发送消息。2  android 本地利用WebChromeClient 对象的 onJsPrompt函数截获html 弹窗的消息。3  android本地截获到消息以后,通过Pluginmanager 把消息分发到目的插件,同时通过jsMessageQue

2014-07-05 10:49:47 1838

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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