2018-09-23 DiskLruCache解析 概述 DiskLruCache,是JakeWharton大神开源的作品,用于磁盘缓存,与LruCache内存缓存相对应,都是使用LRU算法。 Android 阅读全文 >>
2018-09-23 LruCache解析 概述 LRU(Least Recently Used),即最近最少使用算法,它的核心思想是当缓存满时,会优先淘汰那些近期最少使用的缓存对象。 该算法被应用在LruCache和DiskLruCache,分别用于实现内存缓存和磁盘缓存。 Android 阅读全文 >>
2018-09-09 Android全局异常处理 概述 当Android应用程序出现未捕获的异常,都会弹出一个强制退出的弹框,在这种情况下,用户体验非常差。且发布到线上后,开发没法定位Bug的位置,这就需要一个能全局捕获异常,并且将这个异常log上传到服务器的功能。 Android 阅读全文 >>
2018-09-09 Android中的单位(dp、sp、dpi) 概述 因为不同的屏幕具有不同的像素密度,因此同样数量的像素在不同设备上可能对应于不同的物理尺寸。因此要使用dp和sp单位。 dp:是一种密度无关像素,对应于160dpi下像素的物理尺寸。 sp:是相同的基本单位,但它会按用户首选的文本尺寸进行缩放(属于缩放无关像素),因此在定义文本尺寸时应使用此计量单位(但切勿为布局尺寸使用此单位)。 Android 阅读全文 >>
2018-09-09 ConstraintLayout(约束布局)的使用 概述 ConstraintLayout(约束布局)的出现是为了在Android应用布局中保持扁平的层次结构,减少布局的嵌套,为应用创建响应快速而灵敏的界面。ConstraintLayout可以替代其他布局。 Android 阅读全文 >>
2018-08-26 Java注解处理器 概述 注解处理器(Annotation Processor),是javac的一个工具,用来在编译时扫描和处理注解。 一个注解处理器以Java代码(或者编译过得字节码)作为输入,生成.java文件作为输出。 AndroidAnnotationJava 阅读全文 >>
2018-08-25 Java注解Annotation 概述 注解(Annotation):是元数据的一种形式,能够添加到Java源代码,Java中的类、方法、变量、参数、包都可以被注解。注解对他们所注解的代码没有直接的影响。 注解的使用可以简化代码,提高开发效率。 在Android中,用到注解的开源库有:Retrofit、ButterKnife、Dagger。 AndroidAnnotationJava 阅读全文 >>
2018-08-18 Java动态代理 概述 代理模式,是一种常用的设计模式。 在某些情况下,我们不希望或不能直接访问对象A,而是通过访问一个中介对象B,由B去访问A达成目的,这种方式就是代理。 对象A所属的类称为委托类,也被称为被代理类,对象B所属的类称为代理类。 根据程序运行前代理类是否存在,可以将代理分为静态代理和动态代理。 AndroidDesign PatternsJava 阅读全文 >>
2018-08-04 将FFmpeg编译成一个libffmpeg.so库 概述 在上一篇文章 Android NDK交叉编译FFmpeg 中,编译出的FFmpeg有好几个库,使用起来比较麻烦,所以这篇文章将要介绍如何将FFmpeg编译成一个单独的libffmpeg.so库。 AndroidFFmpegNDK 阅读全文 >>
2018-07-22 Android NDK交叉编译FFmpeg 概述 FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转换成流的开源程序。它提供了录制、转换以及流化音视频的完整解决方案。 AndroidFFmpegNDK 阅读全文 >>