从头开始学 RecyclerView(三) 封装简化
前言 上一篇的代码,也是基于这些封装的。 RV的封装,跟以前的listView之类的封装,大同小异。 这里,从@devwiki 处,将代码搬过来,基本无修改 BaseHolder的优化 使ViewHolder只用来缓存View。 添加SparseArray,使之来缓存View。 添加BaseHolder(View view)构造器,外部更方便控制View。...
View Article深入 Android 源码系列(一)
首先,每天看到不断有新人关注着这个公众号,心情很是愉悦。一种认可,一种信任,也是我前进的动力。感谢大家的支持与鼓励。 本文讲解内容有 loadLibrary流程 linker ELF ndk开发以及配置调试版本 ndk-gdb –start调试so gdb 调试bin文件 gdb调试android apk方案...
View ArticleAndroid性能优化系列之Bitmap图片优化
在Android开发过程中,Bitmap往往会给开发者带来一些困扰,因为对Bitmap操作不慎,就容易造成OOM(Java.lang.OutofMemoryError - 内存溢出),本篇博客,我们将一起探讨Bitmap的性能优化。 为什么Bitmap会导致OOM?...
View Article还有一鲜为人知的单例写法-ThreadLocal
还有一鲜为人知的单例写法-ThreadLocal 源码范例 当我阅读FocusFinder和Choreographer的时候,我发现这两类的单例实现和我们平常用双重检查锁很不一样。而是用来一个ThreadLocal,这个也可以实现单例啊,那这个与双重检查锁实现的单例有什么区别呢? 1.FocusFinder /** * The algorithm used for finding the next...
View ArticleUnity3D引擎之渲染技术系列一
笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,国家专利发明人;已出版书籍:《手把手教你架构3D游戏引擎》电子工业出版社和《Unity3D实战核心技术详解》电子工业出版社等。CSDN视频网址:http://edu.csdn.net/lecturer/144...
View Article手把手教你写Linux设备驱动---定时器(一)(基于友善之臂4412开发板)
这个专题我们来说下Linux中的定时器。在Linux内核中,有这样的一个定时器,叫做内核定时器,内核定时器用于控制某个函数,也就是定时器将要处理的函数在未来的某个特定的时间内执行。内核定时器注册的处理函数只执行一次,即不是循环执行的。如果对延迟的精度要求不高的话,最简单的实现方法如下---忙等待:Unsigned long j = jiffies + jit_delay * HZ;...
View ArticleUnity3D优化技巧系列五
笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,国家专利发明人;已出版书籍:《手把手教你架构3D游戏引擎》电子工业出版社和《Unity3D实战核心技术详解》电子工业出版社等。CSDN视频网址:http://edu.csdn.net/lecturer/144...
View ArticleUnity3D优化技巧系列六
笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,国家专利发明人;已出版书籍:《手把手教你架构3D游戏引擎》电子工业出版社和《Unity3D实战核心技术详解》电子工业出版社等。CSDN视频网址:http://edu.csdn.net/lecturer/144...
View ArticleAndroid 设计模式实战——单例模式
转载请注明出处:http://blog.csdn.net/smartbetter/article/details/68953251 单例设计模式上应用最广的模式之一,在应用单例模式时,单例对象的类必须保证只有一个实例存在,而且可以自行实例化并向整个系统提供这个实例。一般在不能自由构造对象的情况下,就会使用单例设计模式,例如创建一个对象需要消耗资源过多,还有访问IO和数据库等资源等情况。...
View ArticleAndroid 设计模式实战——建造者模式
转载请注明出处:http://blog.csdn.net/smartbetter/article/details/68954161 当我们遇到类似汽车的装配,需要车轮、方向盘、发动机,还有各种小零件时,为了在构建过程中隐藏实现细节,就可以使用建造者模式 (Builder模式)...
View ArticleAndroid实战——RxJava2+Retrofit+RxBinding解锁各种新姿势
RxJava2+Retrofit+RxBinding解锁各种新姿势 本篇文章内容包含以下内容 前言 RxJava2的基本介绍 RxJava2观察者模式的介绍 RxJava2观察者模式的使用 RxJava2的基本使用 模拟发送验证码 RxJava2与Retrofit的使用 模拟用户登陆获取用户数据 合并本地与服务器购物车列表 RxJava2与RxBinding的使用 优化搜索请求 优化点击请求...
View ArticleUnity3D优化技巧系列七
笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,国家专利发明人;已出版书籍:《手把手教你架构3D游戏引擎》电子工业出版社和《Unity3D实战核心技术详解》电子工业出版社等。CSDN视频网址:http://edu.csdn.net/lecturer/144、...
View Article【iOS沉思录】NSThread、GCD、NSOperation多线程编程总结
OC中的多线程 OC中多线程根据封装程度可以分为三个层次:NSThread、GCD和NSOperation,另外由于OC兼容C语言,因此仍然可以使用C语言的POSIX接口来实现多线程,只需引入相应的头文件:#include <pthread.h>。 NSThread NSThread是封装程度最小最轻量级的,使用更灵活,但要手动管理线程的生命周期、线程同步和线程加锁等,开销较大;...
View ArticleUnity3D优化技巧系列八
笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,国家专利发明人;已出版书籍:《手把手教你架构3D游戏引擎》电子工业出版社和《Unity3D实战核心技术详解》电子工业出版社等。CSDN视频网址:http://edu.csdn.net/lecturer/144...
View ArticleAndroid:简单动画效果-淡入淡出播放
淡入淡出的切换效果很常见呢! 无论是Html5,JQuery,都经常用到呢, 这首Android的动画效果:一个深入,一个淡入淡出 实现起来也很简单: import android.app.Activity; import android.graphics.drawable.Drawable; import...
View ArticleAndroid设计模式(十七)-代理模式
代理模式也叫委托模式,是结构型设计模式。代理就是让别人帮你做事,比如帮你带饭,请律师打官司什么的。 喵了个呜的小宇宙 定义 为其他对象提供一种代理以控制对这个对象的访问。 使用场景 当一个对象不能或者不想直接访问另一个对象时,可以通过一个代理对象来间接访问。为保证客户端使用的透明性,委托对象和代理对象要实现同样的接口。 被访问的对象不想暴露全部内容时,可以通过代理去掉不想被访问的内容。 UML...
View ArticleAndroid打印机--小票打印格式及模板设置
小票打印就是向打印设备发送控制打印格式的指令集,而这些打印格式需要去查询对应打印机的API文档,这里我把常用的api给封装了一下 文字对齐方式 打印字体大小 字体是否加粗 打印二维码 打印条形码 切纸 打开钱箱 字符串转字节数组 字符拼接 PrintFormatUtils.java /** * 打印格式 * Created by john on 17-3-23. */ public class...
View ArticleAndroid设计模式(十八)-组合模式
组合模式,也称作部分整体模式。是结构型设计模式之一。组合模式画成图就是数据结构中的树结构,有一个根节点,然后有很多分支。将最顶部的根节点叫做根结构件,将有分支的节点叫做枝干构件,将没有分支的末端节点叫做叶子构件. 定义 将对象组合成树形结构以表示“部分-整体”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。 使用场景 想表示对象的部分-整体层次结构时。...
View Article