自定义博客皮肤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)
  • 资源 (1)
  • 收藏
  • 关注

原创 java的线程池ThreadPoolExecutor原理解析

多线程问题,很多时候都会用到线程池,而ThreadPoolExecutor是java中线程池的重要实现类,理解ThreadPoolExecutor有助于我们更好地理解线程池、甚至去自定义自己的线程池。基本使用初始化线程池Executor executor=new ThreadPoolExecutor(0,Integer.MAX_VALUE,60, TimeUnit.MILLISECOND...

2019-08-29 09:28:22 581 1

原创 android性能优化从入门到精通

什么是性能优化一款app除了要有强大的功能和交互外,在性能上也应该追求更高的要求,这样才能更好的提高用户体验优化目的性能指标优化的方向更快流畅性启动速度页面响应速度响应速度更稳定稳定性避免出现应用崩溃(crash)避免出现应用无响应(ANR)更省资源节省性内存大小安装包大小耗电量网络流量优化详解速度优化内存优化数据结构优化:数据结...

2019-08-16 17:32:14 1612 2

原创 android性能优化之耗电优化

android性能优化之耗电优化

2019-08-30 17:09:19 576

原创 android性能优化之图片Bitmap优化(含源码)

android性能优化之图片Bitmap优化

2019-08-30 14:17:27 1119

原创 android进程间通信:aidl使用及原理

android中,应用与应用、应用内不同进程之间需要做数据传递时,就需要用到进程间通信,常用的进程间通信有7种,而使用最多的便是aidl,aidl是基于binder来实现的。

2019-08-29 14:44:34 801 1

原创 android性能优化之绘制优化

android绘制优化android绘制优化,主要包括以下几块:布局优化、刷新优化和动画优化布局优化布局优化主要就是避免过度绘制过度绘制布局优化主要就是避免过度绘制什么是过度绘制过度绘制,是指在一帧的时间内(16.67ms)某个像素点被绘制了多次,理论上一个像素点每次只绘制一次是最优的,但是由于重叠的布局导致一些像素会被多次绘制,而每次绘制都会对应到CPU的一组绘图命令和GPU的...

2019-08-23 16:39:13 409

原创 android性能优化之启动优化

android性能优化之冷启动优化冷启动,是指当系统没有当前应用的进程时,启动该应用。冷启动优化,是指在不影响业务的情况下,尽可能去减少冷启动过程中所花的时间。白屏问题白屏问题,是指在冷启动过程中,先出现一个白屏页,然后再出现app的第一个activity,白屏问题是第一个需要优化的点。产生原因白屏问题的产生原因,是因为在app启动过程中,先加载主题背景,然后再加载activity页...

2019-08-23 10:38:57 501

原创 android性能优化之内存优化

android内存问题android内存问题分为内存抖动和内存泄漏。内存抖动是指短时间内有大量对象创建销毁,它伴随频繁的GC。内存泄漏是指程序中已动态分配的堆内存由于某种原因未释放或无法释放,造成系统内存的浪费,长生命周期对象持有短生命周期对象强引用,从而导致短生命周期对象无法被回收。内存问题常常发生在图片处理与显示、动画等场景内存抖动内存抖动会引起以下问题卡顿,内存抖动时会java会...

2019-08-23 09:45:35 383

原创 android的adb常用命令总结

android的adb常用命令总结常用命令adb connect 192.168.5.1 :连接某个IPadb disconnect 192.168.5.1:断开连接adb install <apk_name>:安装apkadb shell pm enable :重新识别应用adb shell input keyevent :模拟某按键点击adb root :获取...

2019-08-22 16:27:29 176

原创 android浏览日志技巧-关键字

android浏览日志技巧-关键字android日志中常用关键字START u0 :framework启动activity[包名]:某个包名对应的信息[RECOVERY] : app重启System.err: at com. : app崩溃Application onCreated: application创建[VIEW_LIFE_CYCLE] :生命周期ANR:发生了ANR...

2019-08-22 16:19:48 840

原创 android事件通信方案对比与LiveDataBus详解

事件通信定义:Activity、fragment、Service、Provider之间进行信息的传递和交换通信方案比较通信方案优点缺点handler系统原生,能实现线程间通信高耦合不利于维护容易导致内存泄漏和空指针broadcast简单性能差传播数据有限打乱代码的执行逻辑interface速度快,容易理解实现复杂,不利于维护rxBus效率...

2019-08-17 15:56:19 1374

原创 SparseArray原理解析

SparseArray原理解析

2019-08-16 16:29:36 422

原创 android数据结构基础

基本介绍ArrayList: 基于数组实现的顺序表,大小可以动态增加,集合元素可以为任意对象类型,基本使用如下//初始化ArrayListArrayList<String> arrayList = new ArrayList<>();//添加元素arrayList.add("list1");arrayList.add("list2");//取出某个位置的元...

2019-08-16 14:57:40 293

原创 android电商组件化设计(含源码):MVP+dagger+组件化

起源在采用组件化之前,我负责的一个电商项目经历了1.0单模块版本、2.0多模块版本,3.0决定采用组件化来重构项目,并将项目开源,可供同样在做电商的android开发者参考、在研究android架构的同行者共同学习进步。在做之前,我们考虑三个问题,what、why和how,什么是组件化?为什么要进行组件化?如何进行组件化?源码地址请点击什么是组件化组件化是指解耦复杂系统时将多个功能模块拆分...

2019-08-12 12:15:04 1100

原创 OkHttp解析从入门到精通-从使用到原理

一、基本概念二、如何使用三、工作流程分析i.分发器ii.拦截器重试拦截器:在交出(交给下一个)之前,负责判断用户是否取消了请求,在获得了结果之后,会根据响应码判断是否需要重定向,如果满足条件那么就会重启执行所有拦截器桥接拦截器:在交出之前,负责将HTTp协议必备的请求头加入其中(如:Host)并添加一些默认的行为(如:GZIP压缩);在获得了结果后,调用保存cookie接口并解析GZ...

2019-08-12 09:11:11 2093

原创 apk安全浅谈

apk安全方案签名混淆加固核心代码从java移到ndk/c++中接口安全处理:验签+https+核心接口加密一、签名如果不对app进行签名,其他人员会利用未签名的包进行再打包,加一些广告信息,从而进行非法牟利,对我们造成影响的损失。签名过程请点击这里二、混淆定义:代码混淆(Obfuscated code)亦称花指令,是将计算机程序的代码,转换成一种功能上等价,但是难于阅读...

2019-08-01 14:07:23 767

glide-source-4.8.0

glide是android中非常优秀的图片加载框架,该文件是glide的4.8.0版本的源码,源码分析文章地址:https://blog.csdn.net/qq_23081779/article/details/82994089

2018-10-10

空空如也

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

TA关注的人

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