自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 问答 (1)
  • 收藏
  • 关注

原创 使用mat排查Android项目中的内存泄漏

公司代码维护时间较长,经手的人又很多,比较乱。抽空进行一波重构,发现很多内存泄漏,本文主要记录一下如何使用mat分析内存快照。 通过Android Studio自带的 Android Profiler 能观察到进程实时内存的分配情况,也能确定怀疑的对象是否能存在泄漏,但是我们优化的目标是找到泄漏并解决,而且大的项目代码量巨多,总不能按照自己的想法有目的性的去分析某个对象吧?所以本文就记录了两点: ...

2019-05-04 23:26:27 904

原创 Android bitmap加载占用内存分析(draw too large bitmap)

Android 图片加载占用内存分析 一、问题描述 最近被反馈了一个导致应用崩溃的bug,在极少低版本的手机会必现。对于能必现的bug,还是有十足的把握解决的,毕竟不解决也不能下班。 简单看了一眼如下的崩溃日志。 创建一个132M的bitmap对象,这肯定是个很低级的错误。现在Android手机配置都很好了,所以在低端一点的手机上面会出现崩溃,内存大点的没有出现崩溃。根据堆栈,快速定位到是显示启...

2018-12-22 03:18:28 1017

原创 Android从target19升级至target26

背景:因为谷歌要求上架到google play上面的应用targetSdkVersion必须为26以上,国内各大应用渠道也纷纷出台这个要求。而之前目前使用的版本为19,所以进行了一系列的升级变动,本文主要记录升级过程中的一些变动。 运行时权限申请 Android6.0引入了新的权限机制,将系统权限区分为正常权限和危险权限。开发者在使用到危险权限相关的功能时,不仅需要在Manifest文件中配置,还...

2019-06-12 22:57:17 1236

原创 刘海屏下悬浮球的位置计算

背景 为了不影响到用户玩游戏的体验,渠道菜单通常以悬浮小球的方式显示在游戏界面中,支持拖动和隐藏。点击之后弹出对应的菜单然后跳转至功能页面。 实现方案 通过设置onTouchListener来监听手指的滑动情况,在ACTION_MOVE中实时获取小球在屏幕中的位置,减去点击事件相对小球的位置,通过更新layoutParams来动态改变悬浮球的位置 具体代码如下: @Override ...

2019-06-11 22:49:19 719 1

原创 Android客户端异常检测

一、崩溃检测原理 通过thread.setDefaultUncaughtExceptionHandler(),设置默认异常处理Handler,对未被捕获异常进行处理。 虚拟机会将没有处理的异常交给默认的UncaughtExceptionHandler处理,我们需要做的是将异常上报至服务端处理,APP端按照原本的逻辑走下去。 代码很简单: /** * 系统默认的handler */ Thread....

2019-06-11 21:33:13 694

空空如也

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

TA关注的人

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