Java类加载器及Android类加载器基础

引子

Android插件化与热更新技术日渐成熟,当你研究这些技术时会发现类加载器在其中占据重要地位。Java语言天生就有灵活性、动态性,支持运行期间动态组装程序,而这一切的基础就是类加载器。

阅读更多

一种Android应用架构设计分享

技术发展日新月异,业界各种Android客户端架构设计,五花八门,但我们不能简单地说哪种架构更好,因为脱离业务谈架构是没有任何意义的,适合业务的才是好架构。而架构也不是一成不变的,随着业务的发展,也许当初设计的架构已不足以支撑目前的业务,那么就需要改变之前的架构。接下来将分享下我们Android客户端的架构设计,在App的某个业务发展阶段或许有一些参考意义。

阅读更多

Android Instrumentation源码分析(附Activity启动流程)

Instrumentation概念

官方说明

Instrumentation类位于android.app包中,继承自java.lang.Object,一些测试用类如InstrumentationTestRunner或MultiDexTestRunner直接或间接继承自该类。官方对于该类的解释如下:

阅读更多

面对五花八门的新技术,如何看待与学习

阅读更多

App内存占用优化

优化App内存使用

RAM(Random-access memory)在任何软件开发中都是非常宝贵的资源,移动操作系统由于其物理内存的局限性更是如此。尽管ART(Android Runtime)与Dalvik虚拟机会执行常规的垃圾回收,但这并不意味着可以忽略App中的内存分配与释放。我们应当避免引起内存泄露,如持有静态成员变量而导致无法释放,应当在应用的生命周期回调中释放掉所有的引用。

阅读更多

Android高性能编码最佳实践

本文主要讲一些代码级别的细微优化,但别小看这些,当它们组合起来的时候就能提高App的整体性能。这类的优化不同于算法与数据结构优化所能达到的显著效果,但我们应该把它作为自己的编码习惯从而写出高效的代码。

阅读更多

Android布局性能优化指南

Android布局是应用的重要组成部分,它直接影响到用户的体验。如果布局不合理则会导致内存占用过多且UI卡顿。Android SDK提供了一些工具可以帮助我们快速定位到影响性能的布局问题,一般可从以下几个方面来进行布局优化。

阅读更多

APK瘦身指南

APK瘦身策略

用户一般会不会在应用市场上下载那些看起来很大的App,尤其是当他们使用2G或3G网络或者是按流量付费的时候。因此这篇文章将讲述如何减小APK的大小,从而让更多的用户来下载你的应用。

阅读更多

如何配置方法数超过64K的应用

随着Android平台的继续成长,Android应用的大小也在变大。当一个应用及其引用的库到达一定的规模,在编译应用时就会遇到构建错误,这表示此App已经达到了Android构建系统的某个限制。在早期的构建系统版本中,此错误表现如下:

阅读更多

关于日益泛滥的Android第三方框架

前言

目前Android开发依然很火,如果你关注GitHub,可能会发现越来越多的第三方库与框架(一些简单的库可能称不上框架,为了行文方便,后文统一称之为框架)如雨后春笋般出现。这在一定程度上反映了Android开发的繁荣,但任何事情都有其另一面,第三方框架在方便了App开发的同时,也带来了一些不利影响。

阅读更多