问题记录
文章平均质量分 73
疯震震
征服Android,征服Google,从我做起!
展开
-
SingleLiveData:解决LiveData『数据倒灌』的问题(方案二)
解决LiveData数据倒灌的问题原创 2022-03-06 12:23:24 · 2507 阅读 · 0 评论 -
简单粗暴解决LiveData『数据倒灌』的问题
1、什么是数据倒灌?一句话总结就是:先给LiveData设置了value,然后监听者才开始对LiveData进行监听,这时LiveData的value会立马回调给监听者。虽然从google设计者的角度来看,这并不是一个设计缺陷,但从我们使用者角度来看,其实很多场景下这并不是我们想要的。我们更期望的是:只收到对LiveData开始监听之后的value,开始监听之前的旧value不要回调给我。2、数据倒灌的根本原因LiveData每次setValue或postValue时mVersion都会自增:原创 2021-05-22 16:48:42 · 12362 阅读 · 3 评论 -
OOM?高性能帧动画FrameAnimation-TextureView和BlobCache
一、背景前段时间由于工作上的需求,需要实现一个帧动画,由于时间紧迫,于是就想参考一下网上开源的库,找了一圈,都没有找到特别合适的,有些甚至一大堆问题。于是参考他人的,自己写了一个。二、为什么不用Android原生帧动画?时间紧迫?那为什么不用Android原生帧动画?有什么缺点吗?Android 提供了AnimationDrawable用于实现帧动画。在动画开始之前,所有帧的图片都被解析到内存中,一旦动画较复杂帧数较多,在低配置手机上容易发生 OOM,即使不发生 OOM,也会对内存造成不小的压力。原创 2020-12-07 23:08:02 · 1359 阅读 · 2 评论 -
final修饰的Boolean(布尔值)可以被修改值?
好记性不如烂笔头。生活中多做笔记,不仅可以方便自己,还可以方便他人。背景前几天,测试同学提了个跟头像有关的bug,我去检查代码,梳理逻辑,打log,调试代码。头像的显示采用的是Glide库的组件。大概的代码逻辑如下: private void setImage(ImageView imageView, String url, final boolean test) { ...原创 2019-06-30 19:24:42 · 2302 阅读 · 0 评论 -
Activity销毁onStop或onDestroy延时10s左右才回调
好记性不如烂笔头。生活中多做笔记,不仅可以方便自己,还可以方便他人。前段时间,同事跟我说他遇到一个很奇怪的问题:退出页面,Activity销毁时onStop或onDestroy延时10s左右才回调。如图:听到这个问题,首先想到的是因为在SecondActivity的onPause或在MainActivity的onResume里执行了什么耗时操作导致的。后来检查了一遍发现没有做耗时操作。找...原创 2019-09-08 17:21:58 · 3692 阅读 · 1 评论