LeakCanary原理解析

LeakCanary是Square为Android应用提供的一个监测内测泄露的工具,能够帮助研发快速的查找到代码中内存泄漏的地方,这篇文章从源码层面分析LeakCanary检测过程以及总结了检测原理。...
阅读(1481) 评论(5)

Android性能优化总结

Android系统每隔16ms发出VSYNC信号,对UI进行渲染,如果每次渲染都成功,就能够达到流畅的画面所需要的60fps,为了能够实现60fps,这意味着程序的大多数操作都必须在16ms内完成,时间超出16ms越多,丢的帧就越多。...
阅读(2140) 评论(1)

自定义Gradle Plugin

详细讲解了自定义Gradle Plugin的过程,以及中间一些目录结构和注意事项,因为自定义Gradle Plugin使用的是Groovy语言,和Java很像,很容易理解,本篇没有做过多的语言介绍。...
阅读(1403) 评论(2)

Gradle用户使用指南

Gradle作为一种新的集成工具,关于Gradle的配置信息,多版本构建,签名,依赖导入,依赖多工程,测试等等build.gradle中配置信息,都在这里。...
阅读(2396) 评论(0)

Android中SPI的使用

SPI全称是Service Provider Interface,服务提供方接口,服务通常是指一个接口或者一个抽象类,服务提供方是对这个接口或者抽象类的具体实现,由第三方来实现接口提供具体的服务。SPI提供了一种动态的对应用程序进行扩展的机制,通常用作框架服务的拓展或者可替换的服务组件,但是在Android中并没有广泛的使用。...
阅读(3028) 评论(0)

Android之Service详解

与前一篇Android之Activity的细枝末节是同一系列的文章,是自己在学习和研发过程中,对Service的一些知识点的总结,汇总得到这篇文章。这篇文章会从Service的一些小知识点,延伸到Android中几种常用进程间通信方法。...
阅读(4037) 评论(2)

Android之Activity详解

本篇不针对于新手,而是对于Activity中一些常识或者问题进行总结。本篇介绍了Activity的生命周期、启动关闭、状态保存、启动模式、返回栈协同调度等等知识点。...
阅读(4654) 评论(18)

Intent以及IntentFilter详解

在Android中有四大组件,这些组件中有三个组件与Intent相关,可见Intent在Android整个生态中的地位高度。Intent是信息的载体,用它可以去请求组件做相应的操作,但是相对于这个功能,Intent本身的结构更值得我们去研究。...
阅读(4703) 评论(2)

Android之图片压缩

在开发中,对于图片的操作,稍有不慎,可能就会消耗大量的内存,导致程序崩溃,所以了解一种通用的技术去处理和加载图片,同时保证UI流畅避免OOM现象,是非常有必要的。那么为什么在Android中对于图片的处理会如此棘手呢?...
阅读(4638) 评论(27)

Android事件分发机制详解

Android日常研发时,与View接触占据相当多的时间,而关于View的知识,主要集中在View的绘制和View对于点击事件的处理。关于View的绘制过程,可以查看一下这篇文章的介绍;关于View处理点击事件,可能有人会认为在onTouchEvent()这个方法处理点击事件就行了,不错,具体的处理过程确实是在这个方法中,但是点击事件在View间是怎么分发的?...
阅读(2958) 评论(4)

带你从源代码详细分析View的绘制过程

View绘制过程View简介View类是Android中各种交互式组件的基类,显示在屏幕上的视图由一个或多个View组成,它们排列在一个View树中,我们可以向树中添加新的View或者View树。View绘制过程每一个Android研发每天都会和各种View打交道,Android中任何一个布局或者任何一个控件都是直接或者间接继承View的,例如TextView、Button、ListView等等。...
阅读(1905) 评论(3)

AsyncTask 第三篇源代码篇

简介上一篇主要针对AsyncTask内部使用到的一些线程的技术进行了基本的讲解,如果还没有看过的同学,可以点开这个AsyncTask 第二篇线程篇去查看一下。这一篇就从源代码分析AsyncTask的具体实现,也终于从第一篇的使用到了实现的思路。...
阅读(790) 评论(0)

AsyncTask 第二篇线程篇

简介本篇主要针对AsyncTask中使用到的多线程知识进行讲解,也会涉及到一些基本的多线程知识。在上一篇中大家都知道了AsyncTask内部会起一个非UI线程去执行一些比较耗时的操作,那么这个线程在AsyncTask是怎么样被执行的,仅仅只是实例化一个Thread然后启动它吗?在内部对线程是怎么样处理的?...
阅读(621) 评论(0)

AsyncTask 第一篇使用篇

在手机中耗时的操作比较多,比如说扫描本地的文件夹,比如说从网上下载东西,我们希望这些操作在后台运行,于是我们开了一个线程在后台去执行这些耗时操作。...
阅读(601) 评论(0)

Handler异步消息处理机制,从源代码看起

在Android开发中经常会遇见异步消息处理的情况,特别是网络请求成功或者失败之后需要更新UI,但是更新UI只能在UI线程里面进行,否则就会报错,这个时候就需要通知UI线程去更新UI,于是Handler出现了。...
阅读(1611) 评论(0)
    个人资料
    • 访问:108804次
    • 积分:1399
    • 等级:
    • 排名:千里之外
    • 原创:29篇
    • 转载:0篇
    • 译文:1篇
    • 评论:125条
    最新评论