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

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

阅读更多

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

前言

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

阅读更多

Messenger进程间通信及其原理

前言

之前分析Android消息机制的源码时,曾遇到过replyTo、IMessenger等属性字段,当时只是说这些字段用于进程间通信,并未作深入分析。今天这篇文字就来演示一下使用Messenger如何进行进程间通信并分析其源码实现。

阅读更多

信条

左公无锡梅园题字可为吾人生信条。

阅读更多

Android消息机制源码解析(四)——消息队列MessageQueue

MessageQueue是Android消息机制系列文章的最后一个小节,MessageQueue的主要作用是按一定规则维护一个消息队列,并能够添加消息、取出消息、移除消息等。

阅读更多

Android消息机制源码解析(三)——消息循环器Looper

本节来分析Looper,Looper可以理解为一个消息循环器,不断从消息队列中取出消息,然后交给Handler处理。如果一个线程中有多个Handler,则会根据Message的target属性来将消息处理任务分发到特定的Handler。如果消息队列中没有消息了,那么Looper就会等待,直到有消息进来,下面看一下Looper的源码实现。

阅读更多

Android消息机制源码解析(二)——消息执行者Handler

这一节来分析Handler的源码实现,Handler从字面理解就是处理程序、处理器的意思,在Android消息机制中它扮演着执行者的角色,消息的发送、接收、处理都是由Handler来完成的,它也是跟开发者打交道最多的,因此我们更有必要深入了解Handler的实现原理。

阅读更多

Android消息机制源码解析(一)——消息载体Message

说到Android的消息机制,大家再熟悉不过了,几乎每个逻辑界面中都会涉及到,Activity的生命周期回调也是通过系统消息机制完成的,可见消息机制在Android中的重要性。在应用层,一般我们都是使用Handler来发送、处理消息,从工作线程切换到主线程来更新UI。往往开发者只跟Handler、Message打交道就能满足需求了,但它们背后的实现原理是怎样的呢?为了加深理解,深入学习Android设计理念,同时也希望给初学者带来一些帮助,下面会从源码角度来分析Android的消息机制,鉴于篇幅原因,大致分为如下四个小节:

阅读更多

潜心做一名花匠

中秋佳节,上海却迎来了狂风暴雨,既然无法赏月,那就坐在书桌前,静静地品一杯茶吧。

阅读更多

Java内存分配策略——《深入理解Java虚拟机》笔记

概述

Java自动内存管理包含两方面的含义:给对象分配内存以及回收分配给对象的内存。

阅读更多