- Android应用开发的哲学是把一切都看作是组件。把应用程序组件化的好处是降低模块间的耦合性,同时提高模块的复用性。Android的组件设计思想与传统的组件设计思想最大的区别在于,前者不依赖于进程。也就是说,进程即使由于内存紧张被强行杀掉了,但是运行在里面的组件还是存在的。这样就可以在组件再次需要使用时,原地满血复活,就像什么都没发生过一样。这种设计思想非常适合内存较小的移动设备。理解Android组件设计思想,对Android应用程序架构会有更好的认识。这一节讲Android组件化设计的背景、理念、原则,以及Android在OS级别上提供的组件化支持,其中还会包含一个实验来验证这种组件化设计思想,可以对Android系统有一个高层次的抽象理解。5 4858浏览会员免费
- Android源代码开发环境与SDK开发环境相比,优势是可以查看和调试系统源代码,包括Java代码和C/C++代码。这对应用开发也是非常有用的,因为在开发中碰到疑难杂症时可以跟踪到系统内部去定位问题。对于涉及到C/C++代码的开发,例如JNI开发和安全相关开发,更加建议在Android源代码开发环境进行,这样就可以利用gdb以及gdbclient工具进行调试。这个PPT主要讲Android源代码下载、编译和运行,以及C/C++、Java代码的调试。5 2670浏览会员免费
- Android系统 = Linux内核 + Android运行时。 Android系统使用的Linux内核包含了一些专用驱动,例如Logger、Binder、Ashmem、Wakelock、Low-Memory Killer和Alarm等,这些Android专用驱动构成了Android运行时的基石。Android运行时从下到上又包括了HAL层、应用程序框架层和应用程序层。HAL层主要是为规避GPL而设计的,它将将硬件驱动分成内核空间和用户空间两部分,其中用户空间两部分采用的是商业友好的Apache License。应用程序框架层主要包括系统服务,例如组件管理服务、应用程序安装服务、窗口管理服务、多媒体服务和电信服务等。应用程序框架进一步又分为C/C++和Java两个层次,Java代码运行Dalvik虚拟机之上,并且通过JNI方法和C/C++交互。应用程序层主要就是由四大组件Activity、Service、Broadcast Receiver和Content Provider构成,它们是应用开发的基础。这个PPT从一个通用的应用程序架构开始,概述Android系统的专用驱动、HAL、关键服务、Dalvik、窗口机制和四大组件等。这个PPT 作为前面第1个PPT的延续,帮助进一步了解Android系统的具体实现。5 4381浏览会员免费
- 我们的APK实际上就是一个ZIP压缩文件,里面包含有一个classes.dex,我们编译后生成的程序代码就全部在那里了,通过apktool等工具可以轻松地将它们反编译成smali代码。有了这些反编译出来的smali代码之后,我们就可以轻松地了解别人的APK使用的一些技术或者直接修改别人的APK。由于这些APK反编译工具的存在,我们迫切地希望能有方法去防止别人来反编译我们的APK,从而保护自己的商业机密和利益。5 1315浏览会员免费
- Android系统采用一种称为Surface的UI架构为应用程序提供用户界面。在Android应用程序中,每一个Activity组件都关联有一个或者若干个窗口,每一个窗口都对应有一个Surface。有了这个Surface之后,应用程序就可以在上面渲染窗口的UI。最终这些已经绘制好了的Surface都会被统一提交给Surface管理服务SurfaceFlinger进行合成,最后显示在屏幕上面。无论是应用程序,还是SurfaceFlinger,都可以利用GPU等硬件来进行UI渲染,以便获得更流畅的UI。在Android应用程序UI架构中,还有一个重要的服务WindowManagerService,它负责统一管理协调系统中的所有窗口,例如管理窗口的大小、位置、打开和关闭等。这个PPT讲Android应用程序的Surface机制,阐述Activity、Window和View的关系,以及应用程序、WindowManagerService和SurfaceFlinger协作完成UI渲染的过程5 1330浏览免费
- Android应用程序是运行在一个沙箱中。这个沙箱是基于Linux内核提供的用户ID(UID)和用户组ID(GID)来实现的。Android应用程序在安装的过程中,安装服务PackageManagerService会为它们分配一个唯一的UID和GID,以及根据应用程序所申请的权限,赋予其它的GID。有了这些UID和GID之后,应用程序就只能限访问特定的文件,一般就是只能访问自己创建的文件。此外,Android应用程序在调用敏感的API时,系统检查它在安装的时候会没有申请相应的权限。如果没有申请的话,那么访问也会被拒绝。对于有root权限的应用程序,则不受上述沙箱限制。此外,有root权限的应用程序,还可以通过Linux的ptrace注入到其它应用程序进程,以及系统进程,进行各种函数调用拦截。5 1035浏览会员免费
- Android应用程序与传统的PC应用程序一样,都是消息驱动的。也就是说,在Android应用程序主线程中,所有函数都是在一个消息循环中执行的。Android应用程序其它线程,也可以像主线程一样,拥有消息循环。Android应用程序主线程是一个特殊的线程,因为它同时也是UI线程以及触摸屏、键盘等输入事件处理线程。主线程对消息循环很敏感,一旦发生阻塞,就会影响UI的流畅度,甚至发生ANR问题。这个PPT讲Android应用程序线程消息循环原理,主要涉及到Handler和Looper两个类,以及根据消息循环的不同使用场景,总结出三种线程使用模型。掌握Android应用程序消息处理机制,有助于我们熟练地使用同步和异步编程,提高程序的运行性能5 918浏览会员免费
- Android硬件抽象层从开发到使用有一个清晰的层次。这个层次恰好对应了Android系统的架构层次,它向下涉及到Linux内核,向上涉及到应用程序框架层的服务,以及应用程序层对它的使用。Android硬件抽象层模块的开发本身也遵循一定的规范。有了这个规范之后,系统就可以对它进行自动加载,方便上层的使用。这个PPT通过一个具体的实例来分析Android硬件抽象层的开发、测试和使用,它在帮助我们理解Android系统架构的同时,也能教会我们如何在Android源代码环境中开发C/C++代码。5 3045浏览会员免费
- Android系统里面的应用程序进程有一个特点,那就是它们是被系统托管的。也就是说,系统根据需要来创建进程以及回收进程。进程创建发生在组件启动时,它们是由Zygote进程负责创建。Zygote进程是由系统中的第一个进程init负责启动。此外,用来运行各种系统服务的System Server进程也是由Zygote进程创建的。进程回收发生在内存紧张时,由Low Memory Killer执行。此外,组件管理服务ActivityManagerService和窗口管理服务WindowManagerService也会在适当的时候主动进行进程回收。每一个应用程序进程根据运行情况被赋予优先级,当需要回收进程的时候,就按照优先级从低到高的顺序进行回收。这个PPT讲Android应用程序进程的启动和回收,主要涉及到Zygote进程、System Server进程,以及组件管理服务ActivityManagerService、窗口服务WindowManagerService,还有专用驱动Low Memory Killer。通过了解Android系统对应用程序进程的管理,我们就能更清楚应用程序的运行机制。5 1319浏览会员免费
- Android专用驱动构成了Android运行时的基石。从技术上来讲,Android专用驱动也是整个Android系统的亮点,特别是Binder驱动。Binder是一种进程间通信机制(IPC),它与传统的IPC机制对比,最大的特点是高效,因为通信数据在两个进程之间只需要执行一次拷贝即可。Binder在Android系统里面使用得非常广泛以及频繁。在涉及到比较大的通信数据时,Binder通常还结合另外一个驱动Ashmem来使用。Ashmem是一个共享内存驱动,它与传统的共享内存相比,最大的特点是它是通过文件描述符来描述的,并且可以动态地进行分块管理。动态分块管理的目的是可以将部分不再使用了的内存交回给系统,非常适合内存较小的移动设备使用。另外一个专用驱动Logger是一个日志驱动,它与传统的日志系统对比,特点是日志是记录在内核空间而非文件中,这样就可以提高日志的读写速度。这个PPT讲Logger、Binder和Ashmem三个Android专用驱动的实现原理。由于这三个驱动在Android源代码里面用得非常广泛和频繁,因此理解它们的实现原理,就可以掌握Android的精华。这对以后阅读Android系统的其它代码,也是非常有帮助的。5 1043浏览会员免费
- 在Android应用程序中,有一类特殊的消息,是专门负责与用户进行交互的,它们就是触摸屏和键盘等输入事件。触摸屏和键盘事件是统一由系统输入管理器InputManager进行分发的。也就是说,InputManager负责从硬件接收输入事件,然后再将接收到的输入事件分发当前激活的窗口处理。此外,InputManager也能接收模拟的输入事件,用来模拟用户触摸和点击等事件。当前激活的窗口所运行在的线程接收到InputManager分发过来的输入事件之后,会将它们封装成输入消息,然后交给当前获得焦点的控件处理。这个PPT讲Android应用程序输入事件的分发和处理过程,主要涉及到输入管理InputManager、输入事件监控线程InputReader、输入事件分发线程InputDispatcher,以及应用程序主线程消息循环。5 1120浏览会员免费
- Android应用程序主要由代码和资源组成。资源主要就是指那些与UI相关的东西,例如UI布局、字符串和图片等。代码和资源分开可以使得应用程序在运行时根据实际需要来组织UI。这样就可使得应用程序只需要编译一次,就可以支持不同的UI布局。这种特性使得应用程序在运行时可以适应不同的屏幕大小和密度,以及不同的国家和语言等。资源在Android应用程序编译的过程中,也会被编译成二进制格式。这是为了压缩资源存储空间,以及加快运行时的资源解析速度。Android应用程序在运行的时候,资源管理器AssetManager和Resources会根据当前的机器设置,即屏幕大小、密度、方向,以及国家、地区语言的信息,查找正确的资源,并且进行解析,最后将它们渲染在UI上。这个PPT讲Android应用程序资源的编译、打包,以及它们在运行时的查找、解析过程。了解Android应用程序资源管理框架,有助于我们更好地开发出能够适配多种机型的应用程序。5 811浏览会员免费
- Android应用程序是运行在Dalvik虚拟机里面的,并且每一个应用程序对应有一个单独的Dalvik虚拟机实例。Android应用程序中的Dalvik虚拟机实例实际上是从Zygote进程的地址空间拷贝而来的,这样就可以加快Android应用程序的启动速度。Dalvik虚拟机与Java虚拟机共享有差不多的特性,例如,它们都是解释执行,并且支持即时编译(JIT)、垃圾收集(GC)、Java本地方法调用(JNI)和Java远程调试协议(JDWP)等,差别在于两者执行的指令集是不一样的,并且前者的指令集是基本寄存器的,而后者的指令集是基于堆栈的。这个PPT讲Dalvik虚拟机的内存管理、垃圾收集、即时编译、Java本地调用、进程和线程管理等。理解Dalvik虚拟机的上述实现细节,有助于在运行时修改程序的行为,例如,拦截Java函数的调用。5 1093浏览会员免费
- 牛人教你如何学好Android(推荐)4 277浏览会员免费
- android学习路线图 知道你应该怎么样入手 andriod4 149浏览会员免费
- android学习资料大全,传智播客的ppt,挺不错的5 174浏览会员免费
- 这篇文档是linux android 做音频驱动的必备文档,,我觉得非常的不错,,里面讲到android 应用层怎样去调用音频芯片,,我做驱动开发都是用这篇文档的,,,4 1853浏览会员免费
- DHCP原理介绍4 605浏览会员免费
- Android_Audio_overview.ppt 这个ppt要逆天啦 源码分析 英文的 100多页的 胜过国内任何一个分析5 672浏览会员免费
- 最近花了半个多月的时间研读android源码中处理httplivestreaming的部分,其中包含了如何处理.m3u8文件,android内部如何缓冲视频流,包括后台线程始终获取数据缓冲的过程,以及缓冲没有命中时如何处理的等等,大致还简单介绍了一下android 的 Binder 过程,内容应该是很丰富的,希望能够对大家有帮助。5 127浏览会员免费
- Miracast Standard Miracast Overview Wi-Fi Display Overview Miracast on Android References4 267浏览会员免费
- Android 教程,PPT格式的学习教程。3 85浏览会员免费
- Android起步PPT,非常使用,初学者值得一看。4 71浏览会员免费
- 基于Android平台的即时通信系统的设计与实现 Android 即时通讯 即时通信 毕业论文答辩稿 欢迎下载参考学习4 621浏览会员免费
- wifi协议1 3878浏览免费
- 分享一种基于多进程架构解决Android MediaCodec Native Crash的方法5 2551浏览会员免费
- 欢迎下载,关于毕业设计的,基于Android音乐播放器 希望对大家有用4 741浏览会员免费
- android UI 实现android的应用程序的开发。0 161浏览会员免费
- android屏幕适配文档5 1066浏览会员免费
- qualcomm 平台开发,对于死机 hung up等需要使用trace32 在线调试,文档详细的讲解了使用trace32在线调试的经验技巧4 3997浏览会员免费
- android长连接编程 长连接实现方式 Socket设置 网络编程设计3 126浏览会员免费
- 文档介绍了简介,先决条件,本地存储基础,Storage API,例子:利用本地存储实现高速缓存,清单 1. 最基本的 Twitter 搜索,本地保存,清单 2. 搜索和保存,快速本地数据加载,清单 3. 首先进行本地搜索,清单 4. 计算前 10 个搜索条目,清单 5. 初始化页面,清单 6. Storage 事件处理程序,结束语5 183浏览会员免费
- 【张泽华】android视频教程ppt(144页)5 77浏览会员免费
- 动态 网站的搭建 ~Tomcat服务器B/S的特点以及原理 B/S和C/S程序的区别 Tomcat服务器的运行及基本配置 Web项目的目录结构 Web项目部署步骤3 240浏览会员免费
- 可爱3D 机器人 ppt模板 用于简报 是最新的风格模板 比传统2D模板要高级很多4 76浏览会员免费
- 培训机构cocos2dx培训文档,对cocos2dx初学者有比较大的帮助4 158浏览会员免费
- 完整Android资源resources.arsc文件分析4 1906浏览会员免费
- android学习资料大全 传智播客android视频ppt5 172浏览会员免费
- Android与HTML5融合 Android的HTML5应用程序概述 如何适配多分辨率的Android设备? 如何在Android中构建HTML5应用程序? 如何在Android中调试HTML5应用程序? 如何在Android中使用HTML5的本地储存? 如何在Android中使用HTML5的本地数据库? 如何在Android中使用HTML5的地理定位? 如何在Android中构建HTML5离线应用? 如何使用Canvas进行绘图?4 219浏览会员免费
- OSChina 北京聚会演讲主题PPT,相当有内涵!5 176浏览会员免费
- 关于安卓车机开发的一个PPT,提供了一些思路,可以给做车机的借鉴4 1368浏览会员免费
- 该文档来自MDCC 2016中国移动开发者大会。吕观祥发表了题为“如何开发一款优雅的 SDK?”的主题演讲,欢迎下载!5 247浏览会员免费
- 详细描述了android 中stk服务的 类关系和数据格式变化过程。并对扩展和修改时需要注意的问题提出建议。4 310浏览会员免费
- Android Studio 安装及界面配置 Android Studio 工程目录结构 Android Studio 界面功能及基本操作3 2956浏览会员免费
- 一个android毕设项目的答辩ppt,包括流程图、截图等一些必需内容。5 337浏览会员免费
- 文档主要介绍git gerrit repo的基本功能,及搭建流程和代码评审流程4 3578浏览会员免费
- 工业互联网APP发展白皮书2018,随着工业互联网的发展,越来越多的工业操作依赖APP来完成。0 240浏览会员免费
- 文档介绍了AppWidget 框架类,在 Android 如何使用 Widget,AppWidget 框架的主要类介绍,AppWidgetManger 类, 继承自 AppWidgetProvider 可实现的方法,DEMO 讲解 ,1、新建AppWidgetProvderInfo,2、写一个类继承自AppWidgetProvider,3、后台注册Receiver,4、使 AppWidget 组件支持点击事件,5、如何使TextView 在两种文本间来回跳转5 219浏览会员免费
- Android高仿三星联系人滑动功能开发经验,同以前发过的资源,不过上传后的那份没法修改积分,被扣过的同学,不好意思了哈。5 123浏览会员免费
- 之前备课,自己编写的ppt课件,应用于android 开发应用课程的培训。5 665浏览会员免费
- 详细的Miracast架构和实现说明,很详细很强大3 816浏览会员免费
- MTK电池电量同步及问题分析,如电量异常,电量不准,电量跳变等问题的一个梳理和分析,希望对BSP工程师有用。5 1696浏览会员免费
- 全面介绍了全志SDK4.4 编译系统,介绍了android.mk的基本规则,android部分已经lichee部分编译方法,以及支撑编译方法的背后深度分析。希望对大家有用。4 407浏览会员免费
- 陀螺仪 加速度传感器 地磁传感器的原理简介5 1221浏览会员免费
- android机型适配讲解,从概念,设计,适配方案详细讲解android机型适配5 495浏览会员免费
- Android Open Project: What is Android? What is Open Handset Alliance? Update history of Android Android Architecture Android Source Code What can we do in Android?4 144浏览会员免费
- Android系统Framework层源码分析pdf,免积分哦!1 920浏览会员免费
- Chromium网页渲染技术,更多信息点击进入:http://0xcc0xcd.com5 1776浏览会员免费
- 传智博客android.ppt 传智博客android.ppt 传智博客android.ppt 传智博客android.ppt 传智博客android.ppt4 77浏览免费
- android高通与mtk平台thermal管理机制,描述了如何定制Thermal与如何解读Thermal。5 3381浏览会员免费