- 博客(10)
- 收藏
- 关注
转载 Android自定义控件--之为什么使用自定义控件
一、 前言如果在网上搜索Android自定义控件,可以发现多是自定义控件是如何实现或者是讲解自己实现的非常不错的自定义控件,很少有文章来说明为什么使用自定义控件。一个可能的原因是大家觉得自定义控件太过好用,用起来太顺其自然,因此就没有去想过为什么会引入自定义控件。下面将从Android设计的角度出发来谈谈自定义控件的引入。二、问题引入如果计划APP中的每个Activity添加一个统...
2018-06-27 16:40:32 1223
原创 Android IntentService 的深入浅出
一、问题引入Android代码设计中耗时的IO操作会放置在Service中进行执行,但是由于Service也是运行在主线程中,因此在设计中会在Service开一个线程来完成耗时IO操作的业务部分。线程一般会放置在Service的onStartCommand函数中执行。public class MyService extends Service {@Overridepublic I...
2018-06-26 15:54:36 162
原创 Rxjava之PublishSubject的使用
一、问题引入此前对rxjava的诸多用法小小的进行过总结,rxjava的使用给代码设计带来了很多惊奇和方便。但是在了解到PublishSubject之后再次被rxjava的简便给折服了。在介绍PublishSubject之前,先容我给出这样一个命题,在Android的开发中,我们经常会在Service中处理批量下载的任务,然后将下载的进度显示在Activity中。如果需要完成Service中数...
2018-06-26 11:32:55 11591
原创 单例模式详解
一、前言单例模式是一种常用的软件设计模式,在它的核心结构中值包含一个被称为单例的特殊类,一个类只有一个实例,即一个类只有一个对象实例。该模式在Java和Android代码开发中很是常见,在面试过程中经常会被问到,我曾以该问题面试很多工作5年以上的同学,他们很难将问题答全,甚至连最基本的懒汉模式和恶汉模式也没能说出来,为此有必要总结一下。二、单例模式单例模式中分为懒汉模式和饿汉模式,...
2018-06-25 22:41:30 165
原创 OKHTTP缓存max-age和max-stale详解
一、前言 此前了解过OKHTTP的缓存的使用,并对缓存的使用进行了初步的总结https://blog.csdn.net/polo2044/article/details/80650856。缓存主要是为了在没有网络的情况下,或者资源不需要实时去后端进行更新时,可以直接从缓存中获取资源信息。一方面是能够在断网的情况下仍然给用户良好的界面展示,另一个方面是避免频繁的请求网络给后端带来压力。...
2018-06-22 23:03:51 5158 2
转载 Android Touch事件传递
转载自:https://mp.weixin.qq.com/s/X_TiQ-pQ4VvPxpwfh9yGUA一、前言 Android的Touch事件属于一个很基本的Android知识点,在面试中经常会被问到,在实际的代码开发中偶然也会碰到,特别是在自定义控件的时候,需要处理自定义控件与底层布局的冲突。因此很有必要总结一下Android Touch事件的传递过程。二、Android To...
2018-06-13 20:12:41 223
原创 Android Log 调试显示类名和行数
在Android开发中,对日志的调试中可能有着非常众多的花样,这里介绍的是最常用的做法,显示日志的类名和行数。参考代码如下:public final class Ln { private static boolean isDebug; private Ln() { } public static void init(Context context) { ...
2018-06-11 17:26:47 1059
原创 OKHTTP中缓存使用理解
一、缓存使用的背景 APP在网络请求过程中,存在这样几个场景,在断网情况下需要APP页面存在原有网络请求下来的图片和信息;不论网络是否正常,某些后台信息在短时间内都不会被更新了,APP中触发的网络请求不用去后台获取信息,给后台带来压力;用户的信息必须去后台进行更新,获取最新的信息,比如用户的资金方面的信息。这三类场景就涉及到了Http中的网络请求中的缓存,只有了解了Http缓存知识点...
2018-06-11 13:07:02 1424
原创 Rxlifecycle的引入和原理说明
一.背景 在项目中使用Retrofit+Rxjava的过程中,如果代码编写思量不够就会引入内存泄漏。对内存的解决方案目前存在三种,第一种是在适当的时候解除对网络请求的订阅;第二种是采用RxlifeCycle;第三种是采用AutoDisPose。二.Retrofit和Rxjava使用中的内存泄漏 在说明Retrofit和Rxjava的内存泄漏前,先查看一下它们结合使用的常用代码如下:...
2018-06-03 19:39:29 787 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人