More Related Content
Similar to Android快速发布&持续集成 (20)
Android快速发布&持续集成
- 4. 实现方式
• PhoneGap(android)
一个用基于HTML,CSS和JavaScript的,创建跨平台移动应用的快速
开发平台
• 原生+HTML结合
• 重网页+轻原生app
• 性能差
• Webview释放不及时,会引起crash
参考资料:
http://www.aliued.cn/2012/04/11/%E5%88%9D%E8%AF%86pho
negap.html
- 5. 实现方式(原生)
• Android APK 结构
• AndroidManifest.xml
描述了APK包的固有属性,是不可变部分。
• classes.dex
包含了Java类(.class)被编译打包成了Dalvik虚拟机的中间
代码。
• res
文件夹下的包含了所有可访问的资源文件。
- 7. 实现原理(原生)
• Java反射
利用Java反射机制替换全局ClassLoader到我们自定义的
dalvik.system.DexClassLoader,从而在程序运行过程中改变
Activity的具体实现
• Activity上下文
每一个Activity的上下文都包含了自身的ClassLoader和资源管
理,通过重载以下四个函数就可以替换Activity所载入的资源
和代码的路径指向:
• ClassLoader getClassLoader()
• AssetManager getAssets()
• Resources getResources()
• Theme getTheme()
Editor's Notes
- 一个Android应用在启动时,首先Dalvik加载的是Android自身的框架。之后会加载APK包中的classes.dex文件到全局的ClassLoader。最后根据AndroidManifest.xml中指定的类名,创建对应的Activity实例来展示UI。
- Android框架本身就是一个插件系统,FragmentLoader项目利用了这一特性,采用极少的代码就实现了较完善的动态加载特性,几乎所有的业务逻辑代码和界面所需的资源文件都可以实现动态加载。