自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

欢迎关注微信公众号:DroidMind

技术干货,工具分享

  • 博客(6)
  • 资源 (1)
  • 收藏
  • 关注

原创 【内存泄露】由Handler引发的内存泄漏的思考

前面Looper与Handler解析提到过下面这段代码会出现内存泄漏,其实在Android Studio中会提示这个问题: 在编辑器里面会自动将这段代码标出来,我们看看提示信息是什么?This Handler class should be static or leaks might occur (null) less... (Ctrl+F1) Since this Handler is d

2015-07-26 20:02:57 4139 6

原创 HandlerThread与IntentService原理解析

前面我们讲到了Looper和Handler,只是为了写这篇文章做铺垫,其实在前面的使用中,我们已经可以感觉到了一些局限性,我们怎样来自己写两个线程是它们直接进行通信呢?在看这篇文章之前,可以先看看Looper与Handler解析这篇文章。 实现通信也很简单,只是要使用Handler的另一个构造函数,在Handler中有另一个比较有用的构造函数:Handler(Looper looper),这样自己

2015-07-25 20:34:10 1142

原创 Looper与Handler解析

写这篇文章的目的并不仅仅是为了将Looper和Handler,一方面是为后面其他相关的介绍做铺垫,另一方面是这个东西比较重要,自己也想认真的梳理一下,也想提醒一下大家,虽然关于这个的介绍网上已经有很多。大家通常都会使用Handler+Thread组合,在Thread里面执行耗时的操作,然后使用Handler来执行UI的更新操作,但可能根本不知道其中的缘由,或者根本就不知在Handler的背后还有L

2015-07-25 16:38:08 953

原创 浅析notifyDataSetChanged内部工作流程

首先我们知道notifyDataSetChanged是Adater的一个方法,主要用来通知ListView,告诉它Adapter的数据发生了变化,需要更新ListView的显示,所以当Adapter的数据内容改变时会调用notifyDataSetChanged()方法。 直接看看BaseAdapter中notifyDataSetChanged的源码实现,看notifyDataSetChanged是

2015-07-31 19:48:51 13929 2

原创 浅析PackageManager的工作流程

我们在使用PackageManager的时候,一般都是直接获取到PackageManager对象,然后就直接调用它的函数进行相应操作,但它内部究竟是怎样工作的呢?其实它内部获取的是远程服务,真正调用的都是服务中的操作。 我们这里仅仅停留在java层进行讨论,没有深入到底层C/C++实现。在PackageManager的说明中有这样一段话:/** * Class for retrieving va

2015-07-30 21:05:08 1510

原创 Activity中Window对象的创建过程

看过Activity源码的同胞应该知道,Activity就是对Window对象进行了一个包装,里面的很多操作实质是由Window来完成的,但是Window类是一个抽象类,那么Activity里面的Window属性mWindow所引用的肯定不是Window对象本身,而是它的一个子类,那么到底是那个类,这个对我们后面代码的跟踪非常关键,因为如果找不到这个类,就找不到Activity的很多操作的实现是如何

2015-07-30 12:48:49 1296

方正飞腾排版快捷键

好东西, 一定要看,把所有的方正飞腾快捷键囊括在内,好好看,一定要下哦

2012-03-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除