自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 为什么要使用mmkv

从源码看Sp与MMKV的区别与相同之处,了解MMKV的原理及优点,解析mmkv保存的数据结构

2022-07-21 18:07:25 673 1

原创 通过Gradle控制app版本

解放双手,优雅的通过Gradle控制app版本自增

2022-05-23 09:53:48 821

原创 Android AOP你了解多少

什么是AOP?AOP(Aspect Oriented Programming)意为面向切面编程,指通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。

2021-01-11 17:45:06 961

原创 盘点android中常用的开发库(7) -- Retrofit

Retrofit是最流行的Android网络请求库之一,由著名的Square公司开发,适用于Android、Java、Kotlin的类型安全的Http网络请求。Retrofit是基于OkHttp的封装的,它将接口的定义与使用分离开来了,并和RxJava集成的很好,所以对于异步请求、同步请求也不需要做额外的工作。

2020-09-15 15:26:27 419

原创 内存优化知多少

你是否有被out of memory搞得焦头烂额过?你是否有过在内存优化问题上被面试官问的哑口无言的经历?那就驻足一小会儿,看看下面的内容。

2020-08-14 17:20:33 423

原创 布局优化三两事儿

相信喜欢玩游戏的小伙伴儿们都知道一个指标FPS(frame per second),FPS是每秒钟填充图像的帧数,而一般情况下只要达到了60FPS的画质渲染,人眼识别来说已经具备了较高的平滑度了。而我们的Android也是遵循这一设计来渲染画面的,即每过16.67毫秒重绘一次页面布局。那么为什么有时候我们还能感受到显著的卡顿呢。

2020-08-05 11:35:08 1009

原创 常被忽略的Android电量优化

前言:做为一个Android应用的开发人员,有时你可能并不关心手机电量的使用情况,认为这是手机厂商或者系统开发人员所该关心的事儿,其实不然,对于用户体验来说,最重要的是能够使用设备,一个没电的手机和一块板砖没有什么区别。一旦用户发现是你的应用非常耗电,导致电池使用时间大大降低,可能会毫不犹豫的卸载掉。因此电池电量的优化也是我们所必须要关系和解决的性能优化问题之一。废话不多说,开撸.........

2020-07-24 15:06:43 1534

原创 Apk性能优化--瘦身的那些事儿

前言:你是否曾今被迫接手一个浩瀚又陌生的项目,面对繁杂的代码总有些力不从心且心声厌倦;你是否曾今经历码字五分钟,编译两小时;你是否曾今在下载某一款app时因为要下载很久而吐槽或放弃。而这些或多或少都和代码不规范、冗余,apk体积过大有关,因此apk瘦身在android应用的性能优化上来说也是不可绕过的一部分。接下来我们就来聊聊apk瘦身的那些事儿。APK Analyzer:为了更好、更直观的说明apk瘦身的必要性,我特意找了一个以前无用的代码,接下来我们就给这个代码瘦个身。Apk an.

2020-06-29 16:19:56 725

原创 GC机制,你真的了解吗?

GC(Garbage Collection)相信是每一个程序猿(媛)都熟知的了。作为一个Android开发者,无疑我们是幸福的,因为我们不用像C语言那样还需要手动进行垃圾回收,但同时我们又是不幸的,由于android市场的碎片化,各个型号的手机迥然不同,适配起来相当麻烦,其中最需要避免的就是Out Of Memory了。那么深入的了解GC机制就是每一个android开发者的必修课。...

2020-06-03 18:12:49 4669

原创 Android Crash 治理之道

在Android性能优化中Crash是没法绕开的话题,我们经常在微博热搜上看到某某app又崩了,一个app的口碑往往会因为几次Crash而一落千丈。因此Crash治理至关重要,本文则是站在前人的肩膀上对Crash治理做了自己的总结,希望能对自己和他人有所帮助。

2020-04-20 16:12:23 1895

原创 盘点android中常见的设计模式(九) -- Adapter/适配器模式

适配器模式:今天来复习下android中基本上天天都在用的一种设计模式,适配器模式,对于android的每一个ListView或者RecyclerView,我们都需要用一个adapter来适配它每一个Item的布局。像这种将原本两个不兼容的接口通过一个适配器来使得他们能够相互沟通作用的模式就是适配器模式。如何还没有理解适配器模式的定义的话,那么通过接下来的例子相信大家就知道什么是适配器了。...

2020-04-17 14:13:11 782

原创 ANR?不存在的

什么是ANR?ANR是Application Not Responding的缩写,即应用程序未响应。在android中,当你的应用程序在一段时间内响应不够灵敏,即其界面线程处于阻塞状态的时间过长,就会触发ANR错误。这个时候如果你的应用位于前台,android系统会向使用者显示一个对话框,用户可以选择“等待”而让程序继续运行,也可以选择“强制关闭”。这种形式类似于windows系统中的“该...

2020-04-07 16:16:35 601

原创 盘点android中常见的设计模式(八) -- 观察者模式

观察者模式:什么是观察者模式(Observer Pattern)?这里我们举个栗子:一队警察部署在不同的位置观察着犯罪分子的活动,当犯罪分子进行某个特定的行为时,比如进行非法交易的时候,这队在不同位置的警察同时出击抓捕罪犯。这就是一种观察者模式的诠释。观察者模式定义了一种一对多的依赖关系,当被观察者的状态发生改变时,所有依赖于它的观察者对象都会得到通知并作出自己的改变。这是一种行为型模式。...

2020-04-02 13:40:03 1252

原创 盘点常用的Android开发库(6) -- OkHttp

一、简介关于okhttp相信不做介绍,大家也都知道是干嘛的,因为它真的很常见。这里就稍作介绍,OkHttp是基于Http协议的网络请求框架,也是android端最火热的轻量级框架之一。它的主要优势是:允许连接到同一个主机地址的所有请求,提高请求效率 共享Socket,减少对服务器的请求次数 通过连接池,减少了请求延迟 缓存响应数据来减少重复的网络请求 减少了对数据流量的消耗 ...

2020-03-26 15:18:28 600

原创 盘点android中常见的设计模式(七) -- 组合模式

简介:迪米特法则/最少知道原则(Demeter Principle):一个实体应当尽量少地与其他实体之间发生相互作用,使得系统功能模块相对独立。合成复用原则(Composite Reuse Principle):尽量使用合成/聚合的方式,而不是使用继承。组合模式:组合模式是用于把一组相似的对象当作一个单一的对象,它所依据的是树形结构来组合对象,从而来表示部分与整体之间...

2020-03-24 16:54:33 1096

原创 盘点android中常见的设计模式(六) -- 代理模式

简介:接口隔离原则(Interface Segregation Principle):1、使用多个隔离的接口,比使用单个接口要好。2、降低类之间的耦合度。代理模式:在代理模式中,一个类代表着另一个类的功能,其意在为其他对象提供一种代理以控制对这个对象的访问。这种类型的设计模式属于结构型模式。在代理模式中,我们创建具有现有对象的对象,以便于向外界提供功能接口。An...

2020-03-17 16:54:12 537

原创 盘点android中常见的设计模式(五) -- 责任链模式

简介:依赖倒转原则今天来说一下设计模式的6大原则之一的依赖倒转原则。这个原则是开闭原则的基础,其具体的内容为:针对接口编程,依赖于抽象而不依赖于具体。责任链模式:责任链模式(Chain of Responsibility Pattern)为请求创建一个接收者对象的链,这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。在这种模式中,通常每...

2020-03-06 13:43:53 608

原创 盘点常用的Android开发库(5) -- Rxjava2原理分析

一、简介这篇文章不会介绍Rxjava2的使用和操作符等内容,相信大家也或多或少有所了解,网上也有很多此类的文章,如果从未使用过的Rxjava或对其不怎么了解的,可以先简单的了解下Rxjava2的基本使用。本篇文章主要是跟着源码分析和梳理Rxjava的构建、订阅、事件分发流程。...

2020-02-27 21:00:41 641

原创 盘点android中常见的设计模式(四) -- 工厂模式、抽象工厂模式

题外话:近期的疫情数据终于赢来了拐点,新增人数也终于降到了3位数,全国各地也视当地情况开始陆续的复工,相信未来会越来越好。PS:终于可以出门撒欢儿了。...

2020-02-26 17:52:51 1085

原创 盘点常用的Android开发库(4 ) -- Rxjava2的基本使用

一、简介二、使用三、分析四、参考链接

2020-02-25 20:21:15 1101

原创 盘点android中常见的设计模式(三) -- 原型模式

简介:原型模式:Android中的使用:

2020-02-15 14:37:06 542

原创 盘点android中常见的设计模式(二) -- Builder模式/建造者模式

简介:建造者模式使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。一个Builder类会一步一步构造最终的对象,该Builder类是独立于其他对象的。...

2020-02-13 17:08:09 1148

原创 盘点android中常见的设计模式(一) -- 单例模式

题外话:近期由于新型病毒疫情比较严重,本着珍爱生命的原则,我也只能窝在家里自我隔离,但又不想浪费这大好时光,就想着一直以来就对android中常见的设计模式一知半解,正好趁现在边复习边学习,顺便记录下来,希望对以后的自己有所帮助。最后小小的祈祷下疫情赶快过去,武汉加油,中国加油!简介:什么是设计模式?设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设...

2020-02-12 15:50:09 1239

原创 盘点常用的Android开发库(3) -- Logger

一、简介Logger,顾名思义,肯定是和日志有关。作者本人用三个词概括了这个Android开源日志库的优点:Simple(简单)、Pretty (漂亮)、Powerful(强大)。二、使用2.1 依赖注入implementation 'com.orhanobut:logger:2.2.0'2.2 初始化在Application或者activity中添加如下代码:/...

2019-10-08 16:39:06 551

原创 盘点常用的Android开发库(2) -- ButterKnife

一、简介Butterknife是一款andoid平台应用广泛的依赖注入框架,使用Butterknife可以避免大量的findViewById,setOnClickListener等查找View、绑定事件的代码,同时对应用性能也基本没有影响。二、使用2.1 添加依赖在Project的build.gradle中添加如下代码buildscript { repositories...

2019-09-10 14:54:50 688

原创 盘点常用的Android开发库(1) -- EventBus

一、简介EventBus是Android和Java的发布/订阅消息总线。它简化了组件之间的通信,将事件的发送者和接受者进行分离、避免了复杂且容易出错的依赖关系和生命周期问题、并且体积小、效率高、使用简单。二、使用1.添加依赖implementation 'org.greenrobot:eventbus:3.1.1'2.注册和android四大组件的broadcast re...

2019-09-02 15:00:01 1110

空空如也

空空如也

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

TA关注的人

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