自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (6)
  • 收藏
  • 关注

原创 轮询操作优化

目录介绍 01.轮询操作是啥 02.轮训请求实践 2.1 与长连接相关的轮训请求 2.2 与页面相关的轮训请求 01.轮询操作是啥 什么叫轮训请求? 简单理解就是App端每隔一定的时间重复请求的操作就叫做轮训请求,比如:App端每隔一段时间上报一次定位信息,App端每隔一段时间拉去一次用户状态等,这些应该都是轮训请求。 为何不用长连接代替轮训操作? 长连接并不是稳定的可靠的,而执行轮训操作的时候一般都是要稳定.

2021-05-18 09:30:51 988

原创 对象池Pools优化

目录介绍 01.什么是对象池 02.glide哪里用到对象池 03.多条件key缓存bitmap 3.1 多条件key创建 3.2 key值的复用 04.glide对象池总结 05.学以致用对象池 5.1 使用场景 5.2 实现步骤 5.3 对象池使用 5.4 项目实践分享 06.对象池的容量 01.什么时对象池 对象池作用 在某些.

2021-05-18 09:28:05 331

原创 APP卡顿原因

目录介绍 01.Android卡顿原理 02.复杂的视图树 03.频繁的requestlayout() 04.UI线程被阻塞 05.内存抖动 01.Android卡顿原理 通过对Android绘制机制的了解,我们知道造成应用卡顿的根源就在于16ms内不能完成绘制渲染合成过程,因为Android平台的硬件刷新率为60HZ,大概就是16ms刷新一次。如果没能在16ms内完成这个过程,就会使屏幕重复显示上一帧的内容,即造成了卡顿。在这16ms内,需要完.

2021-05-18 09:22:31 1693

原创 APP瘦身优化

目录介绍 1.APK组成 1.1 APK组成部分 2.如何压缩优化apk 2.1 资源方面 2.2 代码方面 3.其他操作 3.1 lint检查 3.2 如何检测哪些图片未被使用 3.3 如何检测哪些无效代码 4.对比前后 1.APK组成1.1 APK组成部分 如下所示 res:包含未编译到的资源 resources.arsc,主要有图片资源文件;.

2021-05-18 09:20:47 198

原创 静态变量优化

目录介绍 01.不要用静态变量保存核心数据 02.实际开发中遇到的问题 01.为啥不要用静态变量保存核心数据 尽量不使用静态变量保存核心数据。这是为什么呢? 这是因为android的进程并不是安全的,包括application对象以及静态变量在内的进程级别变量并不会一直呆着内存里面,因为它很有会被kill掉。 当被kill掉之后,实际上app不会重新开始启动。Android系统会创建一个新的Application对象,然后启动上次用户离开时的acti.

2021-05-18 09:16:48 282

原创 图片优化

目录介绍 01.bitmap优化 02.glide加载优化 01.bitmap优化 加载图片所占的内存大小计算方式 加载网络图片:bitmap内存大小 = 图片长度 x 图片宽度 x 单位像素占用的字节数【看到网上很多都是这样写的,但是不全面】 加载本地图片:bitmap内存大小 = width * height * nTargetDensity/inDensity 一个像素所占的内存。注意不要忽略了一个影响项:Density 第一种.

2021-05-18 09:11:25 182

原创 APP启动页优化

目录介绍 01.存在白屏问题 1.1 问题描述 1.2 问题分析 02.解决白屏的办法 2.1 解决方案分析 2.2 第一种解决方案 2.3 第二种解决方案 03.Application启动速度优化 04.启动页面屏蔽返回按键 01.存在白屏问题1.1 问题描述 出现问题描述 android app启动页面黑屏的问题,android开发app启动时若没有做特殊处理.

2021-05-18 09:08:56 189

原创 APP线程优化

目录介绍 01.创建Thread弊端 02.为何要用线程池 03.那些地方使用线程池 01.创建Thread弊端 直接创建Thread实现runnable方法的弊端 大量的线程的创建和销毁很容易导致GC频繁的执行,从而发生内存抖动现象,而发生了内存抖动,对于移动端来说,最大的影响就是造成界面卡顿 线程的创建和销毁都需要时间,当有大量的线程创建和销毁时,那么这些时间的消耗则比较明显,将导致性能上的缺失 02.为何要用线程池..

2021-05-18 09:03:02 140

原创 代码优化

目录介绍 01.代码优化有哪些 02.lint检查去除无效代码 03.代码规范优化 04.View异常优化 05.去除淡黄色警告优化 06.合理使用集合 07.Activity不可见优化 08.节制的使用Service 01.代码优化有哪些 都是一些微优化,在性能方面看不出有什么显著的提升的。使用合适的算法和数据结构是优化程序性能的最主要手段。 02.lint检查去除无效代码 lint去除无效资源和代码.

2021-05-18 08:57:37 88

原创 懒加载优化

目录介绍 1.什么是懒加载 1.1 什么是预加载 1.2 懒加载介绍 1.3 懒加载概括 2.实际应用中有哪些懒加载案例 2.1 ViewPager+Fragment组合 2.2 分析源码 3.ViewPager中setOffscreenPageLimit(int limit)相关源码 4.关于ViewPager与Fragment懒加载 4.1 遇到的问题 4.2 主

2021-05-18 08:54:32 161

原创 布局优化

目录介绍 01.常见布局优化方法 02.使用include标签 03.ViewStub深度解析 04.视图层级<merge/> 05.其他一些小建议 01.常见布局优化方法 布局优化的核心就是尽量减少布局文件的层级,常见的方式有: 多嵌套情况下可使用RelativeLayout减少嵌套。 布局层级相同的情况下使用LinearLayout,它比RelativeLayout更高效。 使用<i.

2021-05-17 16:31:46 1494 2

原创 网络优化

目录介绍 01.图片分类优化 02.获取网络数据优化 03.网络请求异常拦截优化 01.图片分类优化 图片网络优化 比如我之前看到豆瓣接口,提供一种加载图片方式特别好。接口返回图片的数据有三种,一种是高清大图,一种是正常图片,一种是缩略小图。当用户处于wifi下给控件设置高清大图,当4g或者3g模式下加载正常图片,当弱网条件下加载缩略图【也称与加载图】。 简单来说根据用户的当前的网络质量来判断下载什么质量的图片(电商用的比较多)。豆瓣..

2021-05-17 16:29:09 159

原创 内存泄漏优化

目录介绍: 01.什么是内存泄漏 02.内存泄漏造成什么影响 03.内存泄漏检测的工具有哪些 04.关于Leakcanary使用介绍 05.错误使用单例造成的内存泄漏 06.Handler使用不当造成内存泄漏 07.Thread未关闭造成内容泄漏 08.错误使用静态变量导致引用后无法销毁 09.AsyncTask造成的内存泄漏 10.非静态内部类创建静态实例造成内存泄漏 11.不需要用的监听未移除会发生

2021-05-17 16:22:30 348

原创 Android 流行网络框架

缓存DiskLruCache Java实现基于LRU的磁盘缓存2.图片加载Android Universal Image Loader 一个强大的加载,缓存,展示图片的库Picasso 一个强大的图片下载与缓存的库Fresco 一个用于管理图像和他们使用的内存的库Glide 一个图片加载和缓存的库图片处理Picasso-transformations 一个为Picasso提供多种图片变换的库Glide-transformations 一个为Glide提供多种图片..

2020-05-25 09:40:02 449

转载 打造Android微信朋友圈下拉刷新控件

微信朋友圈我们都经常用,朋友圈的下拉刷新比较有意思,我们今天将要模仿打造微信朋友圈的下拉刷新控件,当然微信的这种刷新设计可能不是最好的,实际项目中你可以用V4包里面的SwipeRefreshView或者Chris Banes的AndroidPullRerfresh,看产品经理的设计。 思路 我们初步分析下,界面上主要有二个控件,一个彩虹状的圆形LoadingView,一个是ListView,那么

2016-07-26 15:42:40 534

转载 跟App相关的辅助类

/** * 跟App相关的辅助类 *  * @author zhy *  */public class AppUtils{private AppUtils(){/* cannot be instantiated */throw new UnsupportedOperationException("cannot be instantiated");

2016-07-26 12:31:31 245

VM 安装MacOS 10.15.1 系统工具分享

VM 安装MacOS 10.15.1 系统 ,安装工具、系统及详细操作步骤, 百度网盘分享操作,分享时间无限

2020-12-09

Postman-linux-ia32-7.2.2.tar.gz

Linux系统接口制动化测试工具Postman 32位 相对于工具fiddler ,Postman功能更完整,也更合适用于团队合作开发,以下是整理的几个重要常用功能,但是功能远不止这些。 1、抓取和分析现有网站请求 2、创建Http请求 3、管理Http请求(Collections) 4、变量 5、导出和导入 6、生成在线API文档 7、自动化测试 8、Mock server

2020-06-08

Postman-linux-x64-7.25.3.tar.gz

Linux系统接口制动化测试工具Postman 64位 相对于工具fiddler ,Postman功能更完整,也更合适用于团队合作开发,以下是整理的几个重要常用功能,但是功能远不止这些。 1、抓取和分析现有网站请求 2、创建Http请求 3、管理Http请求(Collections) 4、变量 5、导出和导入 6、生成在线API文档 7、自动化测试 8、Mock server

2020-06-08

Android 发展史、布局、常用控件等基础知识学习.pptx

主要讲解Android发展史、Android五大布局、Android基础常用控件、Android开发工具等讲解

2020-05-25

Android OTG 功能实现

平板和手机通讯聊天,其中USB通讯是需要用户手动赋予权限的,所以2个手机都会有提示的. 到此基本上就完了,我写的这2个app运行在2个安卓手机上,通过数据线是可以进行聊天的.

2018-05-09

空空如也

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

TA关注的人

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