EventBus是一个通过发布、订阅事件实现组件间消息传递的工具。 它存在的目的,就是为了优化组件之间传递消息的过程。传统组件之间传递消息的方法有使用广播,回调等,而这些方法使用都比较复杂。 工作原理: 依赖: 注:EventBus是事件-订阅模型,实际上事件就是消息 ...
LeakCanary是一个内存泄漏检测库,它可以在我们的应用发生内存泄漏的时候发出提醒,提醒包括通知和Log。GitHub 这个库使用起来比较简单: 添加依赖: 自定义Application 这样就可以了。 我们这里通过简单的例子看看它的效果,我们都知道,内存泄漏比较容易发生的,就是因为生命周期不匹配导致的。Android中的组件都是有特定生命周期的,而当这些组件中存在着不可释放的变量时,组件的生 ...
2016-10-12 10:12 0 17002 推荐指数:
EventBus是一个通过发布、订阅事件实现组件间消息传递的工具。 它存在的目的,就是为了优化组件之间传递消息的过程。传统组件之间传递消息的方法有使用广播,回调等,而这些方法使用都比较复杂。 工作原理: 依赖: 注:EventBus是事件-订阅模型,实际上事件就是消息 ...
谷歌最近更新了Support Library 24.2.0,而DiffUtil就是在这个版本添加的一个工具类。 DiffUtil是一个查找集合变化的工具类,是搭配RecyclerView一起使用的,如果你还不了解RecyclerView,可以阅读一些资料或者我的博客:RecyclerView使用 ...
RxJava的核心内容很简单,就是进行异步操作。类似于Handler和AsyncTask的功能,但是在代码结构上不同。 RxJava使用了观察者模式和建造者模式中的链式调用(类似于C#的LINQ)。 观察者模式:Observable(被观察者)被Observer(观察者)订阅 ...
SnackBar是DesignSupportLibrary中的一个重要的控件,用于在界面下面提示一些关键信息,跟Toast不同的地方是SnackBar允许用户向右滑动消除它,同时,也允许在SnackB ...
LruCache的Lru指的是LeastRecentlyUsed,也就是近期最少使用算法。也就是说,当我们进行缓存的时候,如果缓存满了,会先淘汰使用的最少的缓存对象。 为什么要用LruCache?其实使用它的原因有很多,例如我们要做一个电子商务App,如果我们不加节制的向服务器请求大量图片 ...
Apt工具的作者宣布了不再维护该工具了,而且Android Studio也有了自己的插件,并且可以通过gradle来简单的配置。 其实用Butterknife的都知道,没有apt,onClick绑定不了监听,而配置apt有时候又会出现问题,所以推荐使用annotationProcessor来解决 ...
在Android开发过程中,遇到需要列表显示的时候,这时候就会用到listview。 1.首先创建一个ListViewTest项目,选择empty activity类型。修改activity_main.xml的布局文件,添加listview控件,设置宽高和id等属性 ...
GameService组件则是整个游戏逻辑实现的核心,而且GameService是一个可以复用的业务逻辑类。 (一)定义GameService组件接口 根据前面程序对Game ...