自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Android踩坑经验-View.post获取宽高及子线程调用更新UI原理解析

解决两个问题:1:view post为什么能获取宽高?2:子线程执行时为什么可以更新主线程UI?Android开发中,在Acivity的onCreate方法中通过控件的getMeasureHeight/getHeight或者getMeasureWidth/getWidth方法获取到的宽高大小都是0,这个问题比较常见,因为在onCreate方法执行时,View还没有measure,比较常见的方...

2019-03-26 18:00:04 1524

原创 Android踩坑经验-View post方法不执行

View.post()方法在android7.0之前,在view没有attachToWindow的时候调用该方法可能失效,尤其异步线程,如在onCreate,onBindViewHolder时调用view.post方法,可能会不生效,在异步线程view.post方法不执行的情况居多。建议使用Handler post方法代替。看下Android 7.0之前的源码,以4.4版本代码为例:publi...

2019-03-26 17:58:22 5607 1

原创 Android踩坑经验-Finalize TimeoutException原因及解决方案

调用栈信息:背景知识:FinalizerDamemon和FinalizerWatchdogDaemonFinalizerDamemon析构守护线程,重写了finalize的对象,在创建时会新建一个FinalizerReference,这个对象是强引用类型,封装了override finalize()的对象,下面直接叫原对象。原对象没有被其他对象引用时(FinalizeReference除外...

2019-03-26 17:56:40 2966 1

原创 Android踩坑经验-优化APK大小时不可轻易删除/META-INF目录

在优化APK大小时,往往会删除无用资源,重复资源等,有些童鞋可能看到META-INF文件夹下都是声明信息,签名信息等,因此感觉除了签名信息外,其他信息可随意删除,但其实不然。META-INF文件夹主要存放的配置信息,签名信息,service注册信息,文件列表如下:重点有MANIFEST.MF,CERT.RSA,CERT.SF三个文件和services,proguard文件夹:MANIFES...

2019-03-26 17:53:47 2291

原创 Android踩坑经验-notifyDataSetChanged列表不刷新问题分析

本文主要阐述在使用RecyclerView中遇到notifyDataSetChanged列表不刷新问题,表现是:列表滑动时,notifyDataSetChanged可以正常刷新界面,但Fragment切换Tab后,再次滑动RecycleView,列表不刷新。通过打断点调试,发现数据请求没有问题,每次滑动到底部时自动请求数据,在数据集上添加网络数据,通过打断点信息可得到size由20变为40,数据...

2019-03-26 17:49:59 15582 2

原创 Android踩坑经验--App启动时间正确统计姿势

在这里讨论的是指冷启动,热启动不在讨论范围内。如何正确衡量App的启动时间,一般有以下几种方法:AMS日志分析法,录屏分帧法,代码埋点法,logicat分析法等,本文重点阐述最常用的AMS日志分析法,录屏分帧法,代码埋点法,重点阐述代码埋点法的正确姿势。1:AMS日志分析法adb shell am start -w package_name/activity_name输出结果如下:$ ad...

2019-03-26 17:45:46 5240

原创 Android踩坑经验--RecycleView Adapter缓存问题

项目中遇到一个问题,先看现象:发现在一个屏幕上,会出现显示格式不一致问题,比较诡异,同一个布局文件,为什么绘制出来显示效果不一样呢?RecycleView item的显示,主要是onCreateViewHolder和onBindViewHolder两个方法,看下方法调用情况:发现在滑动的时候,并没有执行onCreateViewHolder,而是执行的onBindViewHolder,只有...

2019-03-26 17:40:29 3872 1

空空如也

空空如也

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

TA关注的人

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