LeakCanary源码分析第一讲

本文将分析LeakCanary源码,介绍LeakCanary核心组件以及LeakCanary注册流程。如果你还不知道LeakCanary是什么,那么请一定要看这篇文章:LeakCanary让Android内存泄漏无处遁形

LeakCanary是Android内存泄漏检测工具,能够将内存泄漏在开发的过程中就暴露出来。

LeakCanary核心组件

LeakCanary-class-diagram 上面的类图可以分为三层来看,第一层包括ActivityRefWatcher、RefWatcher,第三层是Service,第二层是HeapDump.Listener它是用来衔接Watcher与Service的桥梁。 继续阅读

Android greenDao sessions详解

DaoSession类是greenDao的核心接口之一。DaoSession给开发者提供了entity操作的基本方法,以及Dao提供的一系列复杂方法。Sessions也用来管理实体的identity scope。

DaoMaster and DaoSession

正如greenDao使用快速入门所示,你需要创建一个DaoMaster来获取DaoSession。

需要注意的是,Database connection是属于DaoMaster的,因此多个session是引用的同一个数据库连接。新的session创建非常快,然而,每一个session都需要分配内存。

Identity scope and session cache 继续阅读

Android greenDao schema entity使用详解

Meta-Model-180

本文将会讲解greenDao的schema,entity,以及property的使用方法,如何在greenDao中使用继承,接口,序列化,以及保留自定义属性和方法等。

使用greenDao的第一步就是创建实体模型(entity model),用它来表示应用程序中使用的持久化数据。然后,greenDao基于这些模型生成Dao层的java代码。

Model本身也是java代码定义的。非常简单,基于DaoExampleGenerator创建一个java project。你可以查看(greenDao使用-快速上手)来了解详细代码。

右边展示的图例描述了meta model(元模型)。那就是用来描述领域模型的类。

Schema 继续阅读

Android greenDao简介

greenDAO-orm-640 greenDao是Android平台的对象关系映射工具object/relational mapping(ORM)。greenDao为关系型数据库提供面向对象的接口。数据库相关的重复枯燥的任务将由greenDao这样的ORM工具完成。

DAO Code Generation(DAO代码自动生成) 继续阅读

Android Volley使用指南

为什么要使用Volley?

       开发者在处理HTTP请求的时候,通常需要创建后台线程,管理线程池,结果解析,结果缓存,处理错误,SSL链接等繁多的事务,然而Volley解决了这些问题,让开发者能够聚焦到业务逻辑的实现,并且是更少的代码更少的bug。 volley        上面这张图片是2013年Google IO大会上推出Volley时的图片,从图片中可以看出,Volley适合用来处理“短并且多”的请求,请求就像离弦的满天飞箭一样。注意:Volley并不适合用来做大文件的上传下载操作例如视频流操作 继续阅读