Android底层探索
文章平均质量分 86
一直在应用层开发,经常接触Framework层,发现高级一点的功能,必须得了解再深入些才好,Library、Runtime、Kernel层等;当然了解底层的原因,不是在于去做底层开发,而是更好的做应用层,使其功能更强大和完善。
刘兆贤
好好学习,天天向上
展开
-
Android源码剖析之Framework层升级版(窗口、系统启动)
本文来自http://blog.csdn.net/liuxian13183/,引用必须注明出处!看本篇文章之前,建议先查看:Android源码剖析之Framework层基础版前面讲了framework的整体层次和基础定义与服务,接下来我们讲讲窗口的创建,底层与应用层界面的交互和管理。一、窗口的创建 上一篇我们讲了三种窗口的类型,本篇接着讲窗口的创建过程,拿Activity创建窗口为例此步骤优先...原创 2016-08-22 19:14:35 · 2772 阅读 · 0 评论 -
Android源码剖析之Framework层实战版(Ams管理Activity启动)
本文来自http://blog.csdn.net/liuxian13183/,引用必须注明出处!讲到实战,就不得不拿两个例子来说明,本篇想拿的是应用最广泛的两个:Ams和Wms,一个管理activity,一个管理窗口,而前面我们已经讲了不少,本篇不再赘述。关于Ams对activity的管理,无非这几个方面:启动哪个activity、物理按键对activi...原创 2016-08-24 18:03:26 · 5450 阅读 · 1 评论 -
Android源码剖析之Framework层进阶版(Wms窗口管理)
本文来自http://blog.csdn.net/liuxian13183/,引用必须注明出处!上一篇我们主要讲了Ams,篇幅有限,本篇再讲讲Wms,即WindowManagerService,管理窗口的服务。主要负责窗口的创建、删除、状态等与手机交互的事情,与Ams配合使用,在SystemServer中创建,用来保持窗口层级关系方便SurfaceFlinger绘制屏幕,和传递...原创 2016-08-26 18:57:37 · 2990 阅读 · 1 评论 -
Android源码剖析之Framwork层消息传递(Wms到View)
本文来自http://blog.csdn.net/liuxian13183/,引用必须注明出处!前面讲过Wms、Ams与Activity的一系列交互,包括创建过程、消息传递、窗口展示等,紧接上篇介绍最终的实现者-窗口和View,上篇对窗口已经有了比较多的介绍,本篇我们再对View再更深一步的了解。首先明确下View的功能,主要用来展示画布即交互的图片背景等,而且承接各......原创 2016-08-30 18:02:57 · 3167 阅读 · 0 评论 -
Android源码剖析之Framwork层后记篇(硬件消息传递、apk管理、输入法框架、编译过程)
本文来自http://blog.csdn.net/liuxian13183/,引用必须注明出处! 既然写到后记篇,就代表本系列到此为止,暂时告一段落;其他一些Manager随后有时间再补,就像源码的一些翻译一样,有时间总会补上的,同时也希望大家一如既往的喜欢,直言不讳的提出宝贵意见。 后记将讲述输入模块和编译系统内容,以及对整个系统的总结。原创 2016-09-01 12:06:18 · 2776 阅读 · 3 评论 -
Android源码剖析之Framework层基础版(窗口、linux、token、Binder)
本文来自http://blog.csdn.net/liuxian13183/,引用必须注明出处! 关于Framework,就是应用层底下的控制层,离应用层最近,总想找个机会,写写WindowMangerService和ActivityManagerService(注意非控件,而是指一类服务)以及其他一些东西,对底层做一个更为全面的认识。而很早以前,写过一篇文章,来简述Android系..................原创 2016-08-19 17:53:50 · 2844 阅读 · 1 评论 -
Android高级第十讲之AIDL与JNI
博客出自:http://blog.csdn.net/liuxian13183,转载注明出处! All Rights Reserved !什么是AIDL,它有什么作用?AIDL:Android Interface Defination Language 它是一种Android内部进程通信的描述语言,用它来定义通信接口。AIDL是安卓的一个伟大设计,它保证不同项目原创 2013-04-18 23:40:29 · 5718 阅读 · 0 评论 -
Android系统如何管理自己内存的?
安卓是基于Linux2.6内核的操开源作系统,安卓比Linux更智能在于:进程结束后,安卓会把程序(并非进程)保留在内存中,直到内存不够再释放。在安卓看来,内存不能空着,留程序缓存在后台不会占用CPU-只保留运行状态,二次打开更加快速-不用再次打开界面资源;所以安卓的内存在于有效利用。系统会设置一个阈值,当系统内存低于此值时,便会按优先级来回收,一直达到另外一个稳定的阈值。优先级由低到高依次如下:前台进程:如当前界面运行的“愤怒的小鸟”、“网易新闻”等可见进程:如界面的Widget、输入法和时钟等原创 2014-02-26 18:29:09 · 3157 阅读 · 0 评论 -
Android高级开发第四讲--API之Intents and Intent Filters
博客出自:http://blog.csdn.net/liuxian13183,转载注明出处! All Rights Reserved !这两个类,前者主要用来传递数据和打开应用,后者主要用于过滤权限或者作为通知标识。原创 2013-01-21 22:01:31 · 1652 阅读 · 0 评论 -
Android高级开发第五讲--API之Content Providers
博客出自:http://blog.csdn.net/liuxian13183,转载注明出处! All Rights Reserved !Android的四大数据存储方式:文件,Sqlite,SharedPreference,ContentProvider。文件可以是txt,也可以是xml,或者其他;可以保存在asset里,这样只有本项目可以访问,保存在内存卡或者SD卡中,其他原创 2013-01-21 22:01:10 · 2123 阅读 · 0 评论 -
Android高级开发第四讲--API之Service
博客出自:http://blog.csdn.net/liuxian13183,转载注明出处! All Rights Reserved !今天主要跟大家翻译一下Service的内容,请慢慢阅读!Service是一个应用组件,它可以在后台长时间的运行,而不产生用户界面。一个应用程序可以开启一个Service,即使切换到另外一个应用程序,它依然会继续执行。此外,一个原创 2013-01-14 22:13:22 · 5013 阅读 · 1 评论 -
Android高级开发第三讲--应用程序基础
博客出自:http://blog.csdn.net/liuxian13183,转载注明出处! All Rights Reserved !学习安卓,不得不知的基础部分,请详细阅读Android 使用Java语言开发。Android SDK 工具编译代码—以及任意数据并连同相关资源打包进一个Android 包内,它是一个以.apk 为后缀的压缩文件。 一翻译 2013-01-13 22:50:16 · 2675 阅读 · 0 评论 -
Android高级开发第二讲--Android中API翻译之Activity
博客出自:http://blog.csdn.net/liuxian13183,转载注明出处! All Rights Reserved !Activity主要用来展示给用户,让用户与后台数据交互,以获得其想要的结果。以下文章它代指“Activity”,创建代指"onCreate",中止代指"onPause",恢复代指"onResume",销毁代指"on原创 2012-12-31 19:28:18 · 2598 阅读 · 0 评论 -
Android高级之系统介绍
博客出自:http://blog.csdn.net/liuxian13183,转载注明出处! All Rights Reserved ! 做了很长时间安卓,一步步的深入,就觉得怎么这么多知识,梳理一下会更好些。Android是什么系统,优点在哪儿?Android系统是美国一名工程师,Andy Rubin创造,经Google的补充、推广,成为世界上一种家喻户晓的系统。原创 2013-04-18 23:40:42 · 2233 阅读 · 0 评论 -
Android高级之Dalvik初识
本文来自http://blog.csdn.net/liuxian13183/,引用必须注明出处! 研究安卓已多年,一直在应用层做开发,Framework层只是看过,也就是大家常说的"底层",而高级一点的功能如热加载、处理器类型配置,必须得了解再深入些才好,Library、Runtime、Kernel层等;当然了解底层的原因,不是在于去做底层开发,而是更好的做应用层,使其功能更强大和完善............原创 2016-06-07 11:41:28 · 2829 阅读 · 0 评论