摘要: 说起单例模式,大家都不陌生,它是简单而又经常用的设计模式之一。但是,你真的会用单例模式吗? 完美的单例模式 (1)单例(ps:废话,看名字就知道啦~) (2)延迟加载 (3)线程安全 (4)没有性能问题 (5)防止反序列化产生新对象 单例模式的实现方式 通常它的实现方式有两种: 1、饿汉式:在定义变 阅读全文
posted @ 2017-06-29 13:01 ha_cjy 阅读(227) 评论(0) 推荐(0) 编辑
摘要: Android O (8.0) 新特性 Android 7.0 新特性 Android 6.0新特性 Android 5.0新特性 阅读全文
posted @ 2017-06-16 11:39 ha_cjy 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 一、背景介绍 我们在项目中,经常会见到圆形进度条,看起来很美观、直观。刚好最近项目中有这样的需求,记录一下,顺便回顾下自定义View的知识。 二、实现思路 自定义View,就是在画布中绘制View,需要重写onDraw方法。该View可以拆分成以下几部分: 1)需要画一个浅绿色的圆 2)需要画一个白 阅读全文
posted @ 2017-06-16 10:46 ha_cjy 阅读(2973) 评论(0) 推荐(0) 编辑
摘要: int circleXY = (int) (mWidth / 2); int circleRadius = (int) ((mWidth * 0.5) / 2) + 20; //计算文本宽度 int textWidth = getTextWidth(mTextPaint,mText); //计算baseline:垂直... 阅读全文
posted @ 2017-06-15 15:01 ha_cjy 阅读(2058) 评论(0) 推荐(0) 编辑
摘要: /** * 方法1:获取文本的宽度 * @param paint * @param str * @return */ public static int getTextWidth(Paint paint, String str) { int iRet = 0; if (str != null && str.... 阅读全文
posted @ 2017-06-15 14:59 ha_cjy 阅读(326) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/javazejian/article/category/6077865 阅读全文
posted @ 2017-06-09 15:15 ha_cjy 阅读(185) 评论(0) 推荐(0) 编辑
摘要: Android 多线程之HandlerThread 完全详解 Android 多线程之IntentService 完全详解 关于Android Service真正的完全详解,你需要知道的一切 Android Service完全解析,关于服务你所需知道的一切(上) Android Service完全解 阅读全文
posted @ 2017-05-27 10:46 ha_cjy 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 一般线程间的消息传递,有许多方法,有Activity.runOnUiThread、Handler.post、View.post等方法,这些方法本质上还是通过Handler传递一个Message来实现的。举个常见的场景:在子线程进行任务的下载,需要实时显示进度在UI上,但是AndroidUI是线程不安 阅读全文
posted @ 2017-05-26 16:25 ha_cjy 阅读(305) 评论(0) 推荐(0) 编辑
摘要: 一、ANR介绍 ANR ,是Application not responding,就是应用无响应的意思。这也是Android应用崩溃的三大崩溃之一。另外2个是RuntimeException和native信号异常。今天我们主要是分析ANR。 一般来说,出现ANR的场景有以下几种: 1)KeyDisp 阅读全文
posted @ 2017-05-25 15:37 ha_cjy 阅读(4334) 评论(0) 推荐(0) 编辑
摘要: 对于Java来说,内存泄漏就是new出来的对象放在Heap上无法被垃圾收集器回收,占据内存,导致内存越来越小进而程序崩溃。说到内存泄漏,不得不提另外一个易混淆的概念:内存溢出(OOM)。什么是内存溢出呢?内存溢出是指程序向系统请求分配的空间超出了系统能给的。比如一辆车只能坐10个人,但是硬塞了15个 阅读全文
posted @ 2017-05-24 17:45 ha_cjy 阅读(302) 评论(0) 推荐(0) 编辑