android
文章平均质量分 88
47045039
这个作者很懒,什么都没留下…
展开
-
按键事件在activity中的流程
android的事件有很多种,touch、key、mouse等。但是基本流程大概是一致的。本文将探寻activity中的事件流程,至于事件如何传递到activity,将另起篇幅介绍。activity的事件入口 public boolean dispatchKeyEvent(KeyEvent event) { onUserInteraction(); Window原创 2015-07-23 10:37:39 · 3717 阅读 · 0 评论 -
Android资源文件的管理
android程序中,不管是普通的drawable、anim、color、layout、value等类型的资源文件,还是raw类型的资源文件,或者asset类型的资源文件,所有的资源文件都是通过AssetManager管理的。其中asset资源文件,在打包apk时,不会有任何的改动,会被原封不动的打包进apk内,可以通过文件名和路径访问;而raw资源文件打包时也会原封不动的打包,只不过使用资源id访原创 2016-07-12 22:16:40 · 3922 阅读 · 0 评论 -
ANR机制
ANR全称是application not responsing,也就是程序无响应。在android系统中,和程序崩溃一样,都是程序设计编码的问题。 android应用中,当你的touch、key等事件得不到及时响应时,在一定的延时之后,系统就会弹出ANR的警告。此时,用户可以选择结束程序或者继续等待。本文将主要从分析ANR原理,以及如何避免ANR。一、ANR产生的原因在android程序中,所有的原创 2016-07-08 00:48:07 · 1523 阅读 · 0 评论 -
zygote启动流程
在Android系统中,所有的应用程序和系统服务京城system server都是由zygote进程fork出来的。本文简单分析zygote的启动过程。1、init.rc init进程是linux系统启动的第一个进程,后续启动的所有进程都是init进程的直接或者间接fork出来的,zygote进程也是一样。service zygote /system/bin/app_process -X原创 2016-06-13 23:40:35 · 503 阅读 · 0 评论 -
Activity启动流程
本文主要是对activity的启动流程做一个简单分析1、Activity.java 位于/frameworks/base/core/java/android/app/目录。有activity发起startActivity()请求,再调用到startActivityForResult()。 public void startActivityForResult(Intent intent, in原创 2015-07-29 23:55:29 · 672 阅读 · 0 评论 -
MediaPlayer源码简单分析
/frameworks/base/media/java/android/media目录 MediaPlayer.java/frameworks/base/media/jni目录 com_android_MediaPlayer.cpp (jni层,将java对象和BnMediaPlayerClient对象一一对应绑定)/frameworks/av/include/media和/framework原创 2015-07-28 22:48:50 · 2458 阅读 · 0 评论 -
media server分析
media server是android的一个重要服务,主要是与多媒体相关的一些系统服务。在 ServiceManager相关中我们已经分析了,media server是在系统init.rc脚本中启动的,并且在service manager之后。由于media server中包含了media player、audio flinger、camera等多个service相关的东西,本文则只取其中的med原创 2016-05-30 23:57:52 · 5664 阅读 · 0 评论 -
ServiceManager启动流程
ServiceManager是一个系统服务进程,在系统init.rc脚本中启动。其代码位于目录/frameworks/base/cmds/servicemanager下。1、init.rc init.rc文件存放在/system/core/rootdir/目录下。service servicemanager /system/bin/servicemanager class core原创 2016-05-27 00:30:10 · 2766 阅读 · 1 评论 -
Java aidl分析
1、IBinder接口定义:public String getInterfaceDescriptor();public boolean pingBinder();public boolean isBinderAlive();public IInterface queryLocalInterface(String descriptor);public void dump(FileDescrip原创 2016-05-23 23:14:25 · 887 阅读 · 0 评论 -
native binder相关类
android native binder相关的类在/frameworks/native/libs/binder/目录下,对应的头文件在/frameworks/native/include/binder/目录下。不同版本的源码,路径可能会有不同。1、ProcessState.cppProcessState::ProcessState() : mDriverFD(open_driver())原创 2016-05-24 22:57:35 · 730 阅读 · 0 评论 -
视频直播Android端流程图
最近做的一个视频直播录制项目,android端的核心功能流程图原创 2015-11-05 16:11:57 · 1563 阅读 · 0 评论 -
Android studio gradle配置问题
点击打开链接转载 2015-12-14 17:41:35 · 284 阅读 · 0 评论 -
android studio的一些编译错误
Must have one-pixel frame that is either transparent or white. 使用 .9图片编辑工具打开对应的图片,严格设置四边,重新保存即可libpng warning: iCCP: Not recognizing known sRGB profile that has been edited 可以直接忽略掉这种警告,或者参考[http://my原创 2015-10-09 20:16:14 · 249 阅读 · 0 评论 -
按键事件在java framework中的流程
按键事件在activity中的流程和按键事件在native和jni中的流程两篇文章主要探讨了事件在activity中的处理流程和事件在native层的处理流程。本文则主要探讨事件如何进入activity,以及如果activity未处理事件时,事件在framework中的处理。事件如何进入activity 前面的文章已经讲到了事件经过native和jni的处理之后,最终通过InputChannel进原创 2015-07-26 20:19:06 · 823 阅读 · 0 评论 -
按键事件在native和jni中的流程
按键事件在activity中的流程一文已经简单介绍了按键事件在activity中的处理流程。本文则着重介绍事件进入activity之前的nativie层的流程。Native层的流程 native层相关类都在/frameworks/base/services/input目录下,InputManager、InputReader、InputDispatcher、EventHub是几个主要类。InputM原创 2015-07-23 21:02:26 · 2177 阅读 · 0 评论 -
主流插件框架分析
前言目前移动端产品功能越来越复杂,模块不断增加,APK体积也不断增长。由于Android Dalvik最初设计的问题,单个.dex文件方法数最多是65536个。因此,APK难免会遇到64K方法数限制的问题。 Google官方提供了MultiDex解决方案。但是该解决方案,有比较大的局限性。应用进程启动时MultiDex需要在主线程去做DEXOPT操作,中间涉及到文件读写、文件验证、数据复制、反射原创 2017-03-10 14:35:25 · 3977 阅读 · 0 评论