Android
文章平均质量分 92
immrwk
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
设置Intent.FLAG_ACTIVITY_NEW_TASK和Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED对Activity Stack的影响
这是一个小区广播问题引发的对Intent.FLAG_ACTIVITY_NEW_TASK和Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED的思考 一、问题描述-删除未读广播消息后,进入短信-menu小区广播还会弹出广播提示框 预制条件 手机有一条未读广播消息 测试步骤: 1.进入设置-更多-小区广播 删除此条消息 2.进入短信-Menu-小区广播 预期结原创 2016-06-27 22:54:20 · 13584 阅读 · 1 评论 -
LeakCannary使用方法及实现原理探究(一)—— 使用方法简述
leakcannary ##简介 LeakCanary是Square公司研发的一个可视化的内存泄漏分析工具,github地址为https://github.com/square/leakcanary。 它的使用非常简单,下面我们将一步步进行分析。 ##集成LeakCannary 在我们的build.gradle中添加如下依赖: dependencies { debugImplementati...原创 2018-10-15 17:50:09 · 902 阅读 · 1 评论 -
Android 网络请求框架volley源码解析(一) —— 网络请求部分
volley是google提供的一个网络通信框架,非常适合我们进行一些数据量不大、频繁的网络通信操作。这是一个开源项目,地址为https://github.com/google/volley,今天我们就分章节来分析一下volley框架源码,探寻它内部的实现机制。 基本使用 这里列举一个volley最基本的用法,通过该用法入手,来一步步分析volley是怎么进行网络通信的。 Req...原创 2018-09-07 17:08:02 · 335 阅读 · 0 评论 -
Android 网络请求框架volley源码解析(二) —— volley缓存原理
Volley的缓存目录 通过上一篇分析中我们发现,创建一个请求队列的同时,会同时创建Volley的缓存目录和DiskBasedCache缓存对象,我们可以得知Volley的缓存目录就是在我们应用内置的cacheDir目录下的volley文件夹中,然后把这个目录用作DiskBasedCache硬盘缓存的目录,源码如下: public static RequestQueue newReques...原创 2018-09-10 15:47:44 · 307 阅读 · 0 评论 -
Android Avtivity setContentView源码分析
前言 平时我们开发过程中,给Activity设置布局的时候,直接调用的setContentView,然后我们在xml布局文件中写的布局就可以显示出来,那这个过程到底是怎么样的呢,今天我们来分析一下,setContentView都做了什么。 Activity setContentView 首先我们看Activity的setContentView方法,这个方法有几个重载: pu...原创 2018-09-04 11:43:05 · 244 阅读 · 0 评论 -
Android Handler机制源码分析
本文分析基于android-25 Handler是Android系统提供给我们的一个工具,主要用于多线程间的通讯,比如更新UI等等。 一、Handler常见用法 1. 首先定义一个Handler,并重写handlerMessage方法,当收到消息时,根据msg.what判断来源,然后进行相关操作,这里是更新了一个textView的显示文字。 private Handler m...原创 2018-08-31 15:36:43 · 273 阅读 · 0 评论 -
Android finish()自动回调时机,Activity资源释放逻辑放在onDestroy中一定合适吗
首先看Google对finish()的描述, Call this when your activity is done and should be closed. The ActivityResult is propagated back to whoever launched you via onActivityResult(). 当activity完...原创 2018-05-10 11:37:59 · 3600 阅读 · 2 评论 -
Android 消息路由框架
本文主要介绍消息路由框架的机制和原理 消息框架的作用 可以方便在不同moudle之间的通信,减少互相依赖 路由机制的原理 MoudleA通过消息路由来分发一个任务到MoudleB,而避免MoudleA直接依赖MoudleB。 需要被执行的任务首先需要进行注册,任务id是唯一的,该注册可以通过写到类的static静态代码块当中,这样当该类被加载的时候这个任务便可以被注册。(后面...原创 2018-04-11 11:57:22 · 412 阅读 · 0 评论 -
Android如何在service中弹出对话框
最近又听人聊到Android能不能在service中弹出对话框的问题,于是总结一下 答案是肯定的,系统可以在低电量的时候弹出电量不足的提示,那么我们也可以按同样的方法做到 下面介绍在service中弹出对话框的两种方法: 1.将dialog的Type设置为TYPE_SYSTEM_ALERT 写一个service代码如下: public class DialogService ex...原创 2018-03-12 17:55:00 · 11387 阅读 · 0 评论 -
JsonObject toString() 输出键值对顺序研究
后台有一套接口,需要对传参进行排序,于是写了一套排序方法,在请求接口之前对所有参数排序,这里边用到了JsonObject及其自身的toString方法,测试过程中发现在一台android4.4系统的手机上程序运行不是预期结果,于是有了下面的研究原创 2018-02-23 16:23:22 · 14780 阅读 · 2 评论 -
Android应用中的图片缓存策略
Android图片缓存的基本思路整理 缓存方式主要分为网络缓存,内存缓存,文件缓存 这里简单介绍一下后面两种的思路,使用内存缓存和使用文件缓存 缓存的基本原理,将从网络中得到的图片存储在本地,避免再次使用时从网络重新加载,可以增快加载速度,减少网络流量的消耗原创 2018-03-08 17:33:36 · 410 阅读 · 0 评论 -
Android中实现虚线边框包裹文字的两种方式
下面介绍实现下图所示效果的两种方式: 第一种是通过写shape布局文件来实现 给TextView设置background时引用此布局文件即可实现效果,shape布局文件代码如下: <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/...原创 2016-09-05 21:45:51 · 3867 阅读 · 0 评论 -
LeakCannary使用方法及实现原理探究(二)—— LeakCannary实现原理及源码分析
写在前头 这里首先将LeakCannary的原理写在这里,让大家有一个初步的印象,然后我们再一步步去分析具体的实现逻辑 LeakCannary原理 1. Activity onDestroy之后将它放到一个WeakReference 2. 这个WeakReference关联到一个ReferenceQueue 3. 查看ReferenceQueue是否存在 Activity的引用 4. 如果该Aci...原创 2018-10-16 17:43:41 · 1125 阅读 · 0 评论
分享