欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

2020年1月工作整理

程序员文章站 2022-05-02 20:26:58
...

0106

fresco加载长图变模糊的问题

项目中使用fresco加载图片,测试上传了一张400x10000+的长图,导致图片模糊不清,分辨率极低。debug查看获取到的宽高,变成了50x1250,缩小了8倍。


查了很久的资料,fresco issues里面有一个人和我遇到同样的问题。作者给出了回复和建议如下:
2020年1月工作整理
这个时候大概知道什么原因:原来是我在fresco初始化的时候设置了

// 对网络图片进行resize处理,减少内存消耗
.setResizeAndRotateEnabledForNetwork(true)
  • 在设置ImageRequest的时候允许其进行resize处理,减少内存消耗,也同样起到降低OOM的风险。
  • 最终影响的是mDownsampleEnabledForNetwork参数。 这个参数的作用是在mDownsampleEnabled为true的情况下,设置是否当这次请求是从网络中加载图片时,来对三级缓存中的编码图片重新改变大小

0108

Edittext设置过inputFilter后,再设置maxLength无效

maxLength作为一个属性,也是用inputFilter实现的。如果自定义了inputFilter,就会覆盖掉原本maxLength的这个inputFilter,所以无效。

Not allowed to start service Intent

java.lang.IllegalStateException: Not allowed to start service Intent xxxx app is in background uid UidRecord

Android 8.0 有以下调整:
Android 8.0 的应用尝试在不允许其创建后台服务的情况下使用 startService() 函数,则该函数将引发一个 IllegalStateException。

新的 Context.startForegroundService() 函数将启动一个前台服务。现在,即使应用在后台运行,系统也允许其调用 Context.startForegroundService()。

不过,应用必须在创建服务后的五秒内调用该服务的 startForeground() 函数。

0113

邮局监管

国家邮政局只监管快递,物流不做监管

android 长按TextView实现全选 复制等功能

在TextView加上下面属性即可。

android:textIsSelectable="true"

默认是false,EditText默认是true

EditText长按复制全选无效

项目中在做发帖的时候,发现EditText没有办法实现长按复制、全选内容的功能。调查发现是因为加了下面的代码

edittext.setMovementMethod(Scrollingmovementmethod.getinstance());

这一句用在textview中,是使其可以上下滚动。Edittext默认就是可以多行并且上下滚动。
去掉这一句,就可以恢复Edittext的长按复制功能了。

0116

关于Fresco加载图片报PoolSizeViolationException异常的问题

错误信息

com.facebook.imagepipeline.memory.BasePool$PoolSizeViolationException: Pool hard cap violation? Hard cap = 402653184 Used size = 402493656 Free size = 0 Request size = 2856600

我是在RecyclerView的item里面处理SimpleDraweeView,不过在RecyclerView的外面包了一层NestedScrollView。如果把NestedScrollView去掉不会报上名的错误
这个错误的原因是没有释放图像,导致它们填满整个池,直到图像过多而引发异常。

fresco相关issue解释是:

RecyclerView does not recycle its items when its height is wrap_content and it is a child of NestedScrollView

0131

Androidx 下 Fragment 懒加载的新实现

详细方案实现

相关标签: 月度工作总结