自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

李可乐的专栏

分享开发经验

  • 博客(11)
  • 收藏
  • 关注

原创 MVP架构-Android官方MVP项目和响应式MVP-RxJava项目架构分析对比解读

介绍MVP这个架构一直是Android开发社区讨论的焦点,每个人都有自己的分析理解众说纷纭。直到GitHub上Google官方发布用MVP架构搭建的项目。感觉是时候分析了。MVP架构简介这不是本文重点,所以摘抄自李江东的博文MVP架构简介  对于一个应用而言我们需要对它抽象出各个层面,而在MVP架构中它将UI界面和数据进行隔离,所以我们的应用也就分为三个层次。View:对于View层也是视图层,在

2016-05-27 17:45:11 16726 5

转载 Android官方说明-Activity任务栈

任务和返回栈本文内容保存 Activity 状态管理任务定义启动模式处理关联清理返回栈启动任务文章Android 多任务运行机制另请参阅Android 设计:导航 清单文件元素概览屏幕应用通常包含多个Activity。每个 Activity 均应围绕用户可以执行的特定操作设计,并且能够启动其他

2016-05-30 23:35:48 2670

原创 Java语言一些记录

介绍这篇博文用来记录我平常想到的有关Java有趣或者重要的东西有序集合打乱我做过一道面试题,Java语言设计一个扑克牌游戏,发牌,洗牌。 我写Android客户端代码,数据集合一般都是服务器已经处理好了的。还从来没想过怎么把有序的集合打乱。 当时脑子里面就想到for循环里,一个Random随机对象生成随机数。然后就懵逼了。 今天突然想到这个问题就看了一下有关Java集合的源码。 首先这样的代

2016-05-29 00:42:27 871

原创 Android开发-Handler引起的内存泄漏-实验、分析、总结。

介绍最近在恶补Handler的知识,其中就涉及到了Handler引起的内存泄露问题,网络上有很多的分析文章。我就按照这些文章的思路,写代码验证,主要是验证和记录。 使用的内存检测工具是:LeakCanary 中文使用说明 英文原文: http://www.androiddesignpatterns.com/2013/01/inner-class-handler-memory-leak.h

2016-05-24 20:39:46 4429 9

原创 View的两种更新方法-从源码角度分析invalidate()和postInvalidate()的区别

介绍最近在看各种Android多线程开发的各种知识,网上看到有关线程和View的东西,其中View的两种更新方法invalidate()和postInvalidate()。记得当时在深圳去面试其中有个题目就是说明这两个的区别。今天突然又看到就需要把不懂得总结出来。分析invalidate首先不管这两个的使用问题,就从源码看。 先来到android.view.View这个最重要的类。Ctr+F搜索i

2016-05-24 01:15:25 3693 1

原创 Android内存泄露检测工具和实际开发中遇到的内存泄露问题解析

介绍内存泄露是平常开发中经常遇到的,有些时候稍不注意就会发生,而且还不易察觉,这就需要工具来帮助检测。本文主要介绍内存检测工具和我在开发中遇到的内存泄露问题和解决方案。内存泄露的原理具体的原理涉及到虚拟机垃圾回收机制知识,这里只为下文作介绍说明基本原理。想深度了解的请google。 内存泄露是指无用对象(不再使用的对象)持续占有内存或无用对象的内存得不到及时释放,从而造成的内存空间的浪费称为内存

2016-05-23 17:41:18 3917

原创 Android开发-数据存储SharedPreferences工具类、Set<String>保存问题、源码分析

介绍SharedPreferences作为Android提供给我们方便简单的存储数据的类。它内部的实现实际上是xml格式的文件存储数据,同时为了提升读写性能同时实现了内存缓存机制。关键源码在android.app包中的SharedPreferencesImpl类里面。值得一提的是Context实例的getSharedPreferences是抽象方法,看不到实现。因为整个Context套件被设计成装饰

2016-05-20 22:15:42 4949

原创 Logger-功能强大使用方便的Log日志打印工具类

介绍Android开发中Log日志打印对开发者来说是非常重要的功能。但是感觉Log写多了也是烦,每次都需要设置一个TAG过滤值和具体的打印信息,而且打印的信息也不够丰富。 这里我推荐一个功能强大的Log日志打印工具类-Logger。(不是java.util.logging.Logger,只是恰好同名而已)使用使用非常简单,直接调用静态类方法。提供Debug/Info/Error三个级别的打印方法。

2016-05-17 19:41:39 5467

原创 设计模式-享元模式(Flyweight)的分析说明和Android中的关键应用

介绍写博客总是需要动力和动机的,最近在看Android线程和进程的分析,其实就是Handler这个Android开发中最重要的东西。说来惭愧现在也只是会用的程度。本着要进步的心态我需要在这块下功夫研究。代码要一行一行的写,书要一本一本的看。 相信大家都写过这样的代码: Message message= handler.obtainMessage(); message.

2016-05-15 18:13:36 1203

原创 设计模式-单例模式(Singleton)在Android中的应用场景和实际使用遇到的问题

介绍在上篇博客中详细说明了各种单例的写法和问题。这篇主要介绍单例在Android开发中的各种应用场景以及和静态类方法的对比考虑,举实际例子说明。单例的思考写了这么多单例,都快忘记我们到底为什么需要单例,复习单例的本质 单例的本质:控制实例的数量全局有且只有一个对象,并能够全局访问得到。控制实例数量有时候会思考如果我们需要控制实例的数量不是只有一个,而是2、3、4或者任意多个呢?我们怎样控制实例

2016-05-08 19:25:21 13031 7

原创 设计模式-单例模式(Singleton)各种写法和分析比较

介绍单例模式是设计模式中比较简单容易理解的。它的出现主要是: 保证一个类仅有一个实例,并提供一个访问它的全局访问点其实就在系统运行期间中保证只有这么一个实例,并能够全局访问。应用场景就是当需要一个对象时,这个对象需要整个系统运行期间只有一个,并且这个对象的新建开销比较大,为了避免频繁的新建对象浪费内存。就使用单例模式。代码实现单例模式有比较经典的两种写法。前段时间我去面试的有家公司面试题就有一

2016-05-07 23:51:18 5257 1

空空如也

空空如也

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

TA关注的人

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