发布Android库至JCenter仓库

注册bintray账号

此账号就是我们用来管理maven或者jcenter的控制台,注册地址为:https://bintray.com/signup/oss
注册地址一定要为这个,如果从官网进行注册,所找到的不是个人申请入口,而是组织申请入口。

Read more   2019/5/17 posted in  Android

单例模式

单例模式的意义

单例模式是最简单的设计模式之一,属于创建模式,它提供了一种创建对象的方式,确保只有单个对象被创建。这种设计模式主要目的是使整个系统中只能出现一个类的实例,即一个类只有一个对象。

  • 优点
    • 由于频繁使用对象,可以省略创建对象所花费的时间,尤其是对于重量级的对象而言,是很重要的。
    • 由于不需要频繁的创建对象,所以GC的压力变轻了,不需要频繁的分配资源和释放资源。
  • 缺点
    • 简单的单例模式设计都很简单,但是复杂的单例模式需要考虑线程安全等并发问题,引入了部分复杂度
Read more   2019/5/12 posted in  Android

23种设计模式全面解析

Read more   2019/5/12 posted in  Android

Android RecyclerView性能优化

前言

近期由于项目中使用RecyclerView加载的数据数量较大,所以必须对RecyclerView进行优化。

Read more   2018/6/15 posted in  Android

Android 基础复习

AndroidManifest

  • uses-sdk 这个节点用于定义要想正确地运行应用程序,设备上必须具有的最低和最高SDK版本。
  • uses-configuration 指定应用程序支持的每个输入机制的组合。一般不需要,适合有特殊输入控制的游戏。
Read more   2018/5/18 posted in  Android

Android Studio整体学习

前言

开发Android也有一年多的时间了,一直使用Android Studio。虽然一直都能正常开发,但是在开发过程中,对IDE的不熟悉还是会导致各种各样的问题,也会拉低开发效率去网上搜索。所以我想整体学习了解下Android Studio的使用,记录方便日后查询。

Read more   2018/4/10 posted in  Android

Kotlin学习笔记

前言

Kotlin语言从问世到现在已经有很久的时间了,2017年终于Google将Kotlin列为开发Android应用的一级语言。而且Kotlin和Java具有高度可互操作性,并且相较于Java更加简单,精炼,还添加了Java在Android中尚不支持的一些必备功能。学习Kotlin与时俱进是必须的。

Read more   2018/1/27 posted in  Android

Android-项目架构

前言

写完一个小项目,接着写下一个的时候,总是会发现,有些必要的工具库或者代码库,要回过头去寻找。又或者一些库的名字有所遗忘,版本有更新,再去寻找的时候,总是会浪费很多时间。所以在这篇文章中,记录一下日后项目构建所需要的代码库的地址和配置,以及一些简单必要的代码。

Read more   2017/11/4 posted in  Android

Android-性能优化

前言

性能检测与分析,一直在 APP 开发中相当重要,但又被我们常常忽略。很多 APP 或者开发者总是急功近利,总想着快速充实 APP 的相关功能,把开发进度放在首位没有问题,可很多时候就没有然后了,这在整个开发界屡见不鲜。
在这样的大背景下,加之我之前写的 RxJava 2.0 系列 收到较好的反馈,诱导我想出这么一个性能优化系列。

Read more   2017/11/3 posted in  Android

Android-自定义View播放Gif动画

前言

GIF是一种很常见的动态图片格式,在Android中它的使用场景非常多,大到启动页动画、小到一个Loading展示,都可以用GIF动画来完成,使用也很方便,直接从美工那边拿过来用就成。如果项目赶时间或者自定义原生动画太麻烦,GIF都是一个很好的选择,相比于最新的WEBP格式的动画,也有更好的兼容性(毕竟已经出现很多年了)。

关于图片加载我一直用的是Google推荐的Glide,图片加载和缓存都做的很好,同样也支持GIF动画。不过Glide默认就是循环播放Gif,没有开放相关的接口来控制Gif。这就使的我们不能很好地控制Gif的播放,比如控制播放开始时间、播放次数,播放暂停、播放开始、结束事件的监听,虽然用Glide可能做到(网上说可以,但我没找到方法),但操作也会很麻烦。

Read more   2017/11/2 posted in  Android