自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 Java四种引用:强引用、软引用、弱引用、虚引用

JAVA中的四种引用 对象的强、软、弱和虚引用 在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及(reachable)状态,程序才能使用它。从JDK 1.2版本开始,把对象的引用分为4种级别,从而使程序能更加灵活地控制对象的生命周...

2019-04-14 15:21:10 64 0

原创 Asynctask 不一样的解读

Asynctask 先看看官宣也就是AsyncTask的类注释,这部分非常重要: AsyncTask enables proper and easy use of the UI thread. This class allows you to perform background operat...

2019-04-11 22:25:13 76 0

原创 乐观锁详解

乐观锁: 乐观锁:顾名思义,就是很乐观,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,可以使用版本号等机制。乐观锁适用于多读的应用类型,这样可以提高吞吐量,像数据库提供的类似于write_condition机制,其实都是提供的乐观锁...

2019-04-11 00:09:32 330 0

原创 adb shell dumpsys

命令集合 adb shell dumpsys命令是用于打印出当前系统信息(更切确的说是dumpsys命令,因为adb shell只是为了进入手机或模拟器的shell内核,使其能够执行dumpsys命令),可以在命令后面加指定的service name(比如activity,location),如果...

2019-04-10 02:20:57 215 0

原创 Android 启动页适配&启动优化

​ 随着全面屏的兴起,为了在各个机型上显示更美观,又出现了各种各样要适配的需求。首当其冲的是就是启动页的适配了,尽管只有一张单图,为了保持他不变形绞尽脑汁想了无数办法,最终找到一个简单的方案。先说下当前的分辨率。 主流屏 16:9 1280*720 1.777 1920*108...

2019-01-23 20:30:33 5453 2

原创 Android 提高app流畅性 -1

影响流畅性的因素有很多,比如: View布局及本身; 主线程任务过多,导致绘制任务延迟; 内存问题影响绘制; 弱网,数据请求过慢,图片加载过慢。 本文从View渲染的角度分析和优化,后续会推出其他几个角度的分析。 流畅性的概念 App运行是否流畅的唯一标准就是app是否达到每秒60帧的平滑的帧...

2019-01-10 00:01:33 524 0

原创 如何确保程序的稳定性 - Android

本文主要从App-Android的视角来看,后学末进初来乍到欢迎打脸。 个人觉得要确保一个程序的稳定应该从这几个方面来分析。 代码 程序框架和设计模式 内存管理 线程管理 静态代码分析工具 容错处理-主动捕捉敏感数据异常 日志收集 测试 单元测试 压力测试 ...

2018-12-12 23:09:59 1769 0

原创 Android 程序启动优化

前段时间Boss说:“咱们的App启动有点慢啊,而且点击桌面ICON的时候,感觉手机有一瞬间卡死了。”问题很严重,于是决定研究一下App的启动过程。 本文从下面几个角度来分析 APP启动的流程 启动耗时的量化 App运行分析工具 其他 应用程序启动时序 应用程序启动时间 启动耗时的量...

2018-12-09 17:02:35 438 0

原创 Android 严苛模式

  什么是StrictMode StrictMode意思为严格模式,是用来检测程序中违例情况的开发者工具。最常用的场景就是检测主线程中本地磁盘和网络读写等耗时的操作。一般会配合monkey测试一起使用,可以参考:android 压力测试 “要求”分两种:ThreadPolicy和VmPoli...

2018-12-09 15:37:52 428 0

原创 android 压力测试

tips:每次去面试你都会说自己的技术经验丰富,会说自己的代码质量很高,但是说多了总会觉得有点空,到底有多好呢?这里给出一种最简单的衡量标准:压力测试。 先做压力测试,然后分析日志(日志跟我们通常看到的logcat一样)。可以根据关键字exception来搜索,一般去掉会导致崩溃的异常就行。 ...

2018-12-09 15:31:07 923 1

原创 记一次APK瘦身全过程

主要从下面三个方面压缩,还有很多小细节可以优化,可以去官方查找资料 java代码混淆 静态资源引用 APK包拆开分析 java代码 配置混淆 网上随意找一个通用的Proguard文件,很多按此不表 初始安装包:25,165,735 配置proguard:24,820,806 缩小3...

2018-12-07 20:24:06 191 0

原创 Android App 耗电量分析-2

SDK-tools版本低于25的参看另外一篇文章:Android App 耗电量分析-1 默认配置了git环境,没有的自行配置 配置Go语言环境 下载 https://golang.org/doc/install#testing 配置,主要是下载下载Battery Historian代码及...

2018-12-07 19:51:42 147 0

原创 Android App 耗电量分析-1

分为新老两个版本的SDK-TOOL,新版的放在另外一篇博客 Android App 电量分析  耗电操作主要分为下面几种 高频通信 CPU密集型的计算 传感器  频繁唤醒系统 解决方案 -减少:您的应用可以裁剪多少操作?例如,它可以缓存下载的数据,而不是重复唤醒无线电重新下载数据? ...

2018-12-07 19:29:41 1170 0

原创 adb过滤日志

应用场景: 日志太多,IDE有时候不受控,不能很好的定位到指定地方 程序崩溃的时候日志直接跳过,在没有封装异常捕捉的情况下,无法找到崩溃的原因,而logcat本身是有一定的缓存的 // 进入到脚本控制 adb shell // 根据包名或者关键字查看PID ps | grep yqr...

2018-06-19 20:40:35 1602 0

原创 android studio 导入项目无法运行

#### 学会看日志,自己分析问题1. 发生这种情况一般连都会报xxx plugin找不到plugin里面看一下 xxxx 插件是否安装,没有就去安装一下,当然通常都是安装了的。2. 然后再一个能正常启动的项目进行对比里面的buildscript看看是否全面:- 对比点1:工程下的build.gr...

2018-06-07 11:14:52 13300 0

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