【反馈 bug】 请各位造轮子的大大,有空帮忙解决一哈。 感谢了~
设备名称:Honor Magic 2
型号: TNY-AL00
Android 版本:10
Magic UI版本:3.0.0
编译配置:
compileSdkVersion 29
targetSdkVersion 29
multiDexEnabled true
在matisse 的 demo 操作步骤:
1、 点击 Dracula
2、在图片选择界面,不点击checkBox,而是点击 图片内容本身来查看大图
3、查看大图页面黑屏,10秒后系统弹框 “Matisse无响应。是否将其关闭?”

同遇到,怎么解决的。
快速滑动的时候,图片未加载出来的时候,点击预览,黑屏ANR,机型华为Mate30
分析anr,是PhotoMetadataUtils.getBitmapBound(PhotoMetadataUtils.java:88) 这一行卡住了。
options.inPreferredConfig = Bitmap.Config.RGB_565;
options.inPreferQualityOverSpeed = false;
暂时把图片质量调低,就不会出现ANR。
options.inPreferredConfig = Bitmap.Config.RGB_565; options.inPreferQualityOverSpeed = false;
暂时把图片质量调低,就不会出现ANR。
还是一样呀,他是直接进去从低质量的滑动到高质量的都没问题,直接点进去看那张高质量直接ANR了
解决了,把URI转路径,用decodeFile。不过感觉好尴尬
解决了,把URI转路径,用decodeFile。不过感觉好尴尬
能说得再具体一点吗?
解决了,把URI转路径,用decodeFile。不过感觉好尴尬
能说得再具体一点吗?
就是你到5楼说的PhotoMetadataUtils---getBitmapBound函数中,传参uri,你把原有的decodeSteam改掉,不要让它走这一种方式,将Uri根据getScheme转成真实的文件路径(这个你网上搜一下很多),然后替换成BitmapFactory.decodeFile(realFilePath, options)就可以了
解决了,把URI转路径,用decodeFile。不过感觉好尴尬
能说得再具体一点吗?
就是你到5楼说的PhotoMetadataUtils---getBitmapBound函数中,传参uri,你把原有的decodeSteam改掉,不要让它走这一种方式,将Uri根据getScheme转成真实的文件路径(这个你网上搜一下很多),然后替换成BitmapFactory.decodeFile(realFilePath, options)就可以了
按你说的方法改了还是没用,不过找到了另外一种解决方法
修改 GlideEngine.java 中
`@Override
public void loadImage(Context context, int resizeX, int resizeY, ImageView imageView, Uri uri) {
Glide.with(context).load(uri)
.apply(new RequestOptions()
.skipMemoryCache(true)
.override(resizeX, resizeY).priority(Priority.HIGH)
.fitCenter())
.into(imageView);
}`
新加了 skipMemoryCache(true) 可以生效
怎么还用 获取真实路径的方式,Android 11 就彻底不能获取外部文件的正式路径了。早改早好。
解决了,把URI转路径,用decodeFile。不过感觉好尴尬
能说得再具体一点吗?
就是你到5楼说的PhotoMetadataUtils---getBitmapBound函数中,传参uri,你把原有的decodeSteam改掉,不要让它走这一种方式,将Uri根据getScheme转成真实的文件路径(这个你网上搜一下很多),然后替换成BitmapFactory.decodeFile(realFilePath, options)就可以了
按你说的方法改了还是没用,不过找到了另外一种解决方法
修改 GlideEngine.java 中
`@Override
public void loadImage(Context context, int resizeX, int resizeY, ImageView imageView, Uri uri) {Glide.with(context).load(uri) .apply(new RequestOptions() .skipMemoryCache(true) .override(resizeX, resizeY).priority(Priority.HIGH) .fitCenter()) .into(imageView); }`新加了 skipMemoryCache(true) 可以生效
加了这个点击列表item的时候会整个列表闪一下
没有人来解决一下吗?
临时性的解决方案: 降级到 android 9.0。
即:
compileSdkVersion 28
targetSdkVersion 28
@minibugdev 我就是在都设置为 28 的情况下遇到这个问题的
华为P30 Pro
安卓10
0.5.2-beta4(项目不是AndroidX的,不能升级最新的0.5.3版本很难受)
compileSdkVersion 28
targetSdkVersion 28
我华为p30 pro也是这问题,我手机升级10之前还是正常的 升级10之后就出问题了?是华为系统的bug吗?打开图库的时候,个别图片加载出来,个别加载不出来,但是不管选择加载出来的或没加载出来的,去获取图片路径返回来在Glide都显示不出来。查看大图也是黑屏,你要按时在加载过程中快速滑动的话是必出现这种现象,就是不滑动也时不时会出现这种情况@minibugdev
华为P30 Pro 安卓10 0.5.2-beta4(项目不是AndroidX的,不能升级最新的0.5.3版本很难受) compileSdkVersion 28 targetSdkVersion 28
我华为p30 pro也是这问题,我手机升级10之前还是正常的 升级10之后就出问题了?是华为系统的bug吗?打开图库的时候,个别图片加载出来,个别加载不出来,但是不管选择加载出来的或没加载出来的,去获取图片路径返回来在Glide都显示不出来。查看大图也是黑屏,你要按时在加载过程中快速滑动的话是必出现这种现象,就是不滑动也时不时会出现这种情况@minibugdev
就按上面有人回复的,把路径从URi换成真实文件路径就行了,在它的MediaGrid的setImage()方法中 SelectionSpec.getInstance().imageEngine.loadThumbnail()改为直接用GLide加载,我是华为mate20 安卓10的系统(之前也是只有前9张图片显示,后面都是灰色的空白图)
Android10系统 + targetAPI 29 + 新安装的app(即app不能是手机android9时安装然后升级到android10),就会启用 scoped storage,是得不到外部文件的真实路径的。
知乎APP同样有这个问题,预览会黑屏卡死
这周日华为 Android 10 手机有一个系统更新,安装更新之后这个问题不再出现,我这边用两台手机验证确认华为在最新系统更新中修复了这个问题。
修复后的系统版本如下:

后台看到的 ANR 也全部都是华为 Android 10 的设备:

分析anr,是PhotoMetadataUtils.getBitmapBound(PhotoMetadataUtils.java:88) 这一行卡住了。
我也是这个问题
【反馈 bug】 请各位造轮子的大大,有空帮忙解决一哈。 感谢了~
设备名称:Honor Magic 2
型号: TNY-AL00
Android 版本:10
Magic UI版本:3.0.0编译配置:
compileSdkVersion 29
targetSdkVersion 29
multiDexEnabled true在matisse 的 demo 操作步骤:
1、 点击 Dracula
2、在图片选择界面,不点击checkBox,而是点击 图片内容本身来查看大图
3、查看大图页面黑屏,10秒后系统弹框 “Matisse无响应。是否将其关闭?”
+1
经过测试,目前在华为最新版本的操作系统上面不会有这个问题
在之前的版本,Mate 30 、P20、P30 上面都有此问题
目前出现的现象就是进入选择视频、或者相册的界面,有些图片或、视频是加载不出来的、然后点击预览会出现 ANR
目前唯一的方案就是将 compileSdkVersion 29、targetSdkVersion 29 修改为 28
烦请大佬尽快解决
目前mate30 测试修复可用方案:
1.解决预览anr
FileInputStream is = null;
is = new FileInputStream(uri.getPath());
BitmapFactory.decodeFileDescriptor(is.getFD(), null, options);
2.解决缩略图加载失败,需要glide 升级至4.11+
这周日华为 Android 10 手机有一个系统更新,安装更新之后这个问题不再出现,我这边用两台手机验证确认华为在最新系统更新中修复了这个问题。
修复后的系统版本如下:
后台看到的 ANR 也全部都是华为 Android 10 的设备:
荣耀V20MagicUi更新至10.0.0.189依然存在这个问题
@xiaojigugu
@zhanyage
@AlphaGao1993
这个应该是华为系统中的,智能分辨率这个功能造成的(可能性90%)。
这功能什么时候针对什么程序启用,每台手机的做法都不一样。
我这边亲测,出现该问题的机器上,我这边有mate20p、mate30 pro 5g、p30p、p20(有的机器不会出现这个BUG),关闭智能分辨率后,重启应用,缩略图之前不显示的,可以显示出来;预览大图不会卡死
mate30 pro 5g 最新系统版本号都20X+了。但mate20p和mate30,却在18X+。故认为不能通过系统更新判断是否修复。
同时,如果关闭了智能分辨率,图片可以大图预览(都可行,目前还没遇到不可生效的机器),则切换回智能分辨率,BUG无法重现。从此之后都正常了。(所以也不保证百分之百是智能分辨率问题)。
我这边的解决方式,是华为EMUI10,且Android10的系统,全部调用系统的com.android.gallery3d的picker进行图片视频选择。
我觉得还是跟 scope storage 有关。
buildToolsVersion=29.0.2
compileSdkVersion=29
代码里都用 URI,然后加 requestLegacyExternalStorage, 就完全好了,读取bitmap用的也是 decodeStream()
所以这可以算个解决方案,等Android N 忽略这个requestLegacyExternalStorage 属性的时候,我相信华为在 android N应该解决了这个bug
这个bug太恶心, 预览图片,播放视频都有影响。
这个问题有哪位大佬解决了的,我这边的情况是,一会可以预览,一会又不能预览,有时候加载图片很慢,有时候预览图片直接应用就崩溃到桌面了,没有看到崩溃日志
这个问题有哪位大佬解决了的,我这边的情况是,一会可以预览,一会又不能预览,有时候加载图片很慢,有时候预览图片直接应用就崩溃到桌面了,没有看到崩溃日志
遇到的问题跟你一样,时有时无的,而且一旦遇到没有任何日志。
图片加载不出来我用这个方式可以解决问题
Glide.with(getContext())
.asBitmap()
.load(mMedia.getContentUri())
.placeholder(mPreBindInfo.mPlaceholder)
.override(mPreBindInfo.mResize, mPreBindInfo.mResize)
.centerCrop()
.skipMemoryCache(true)
.into(new SimpleTarget
@Override
public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition super Bitmap> transition) {
mThumbnail.setImageBitmap(resource);
}
});
加载图片成功后,再手动设置bitmap
貌似这不是华为问题,这个是所有 android 10 问题
貌似这不是华为问题,这个是所有 android 10 问题
应该师是吧oppo最新款的手机也出现了这种问题
貌似这不是华为问题,这个是所有 android 10 问题
应该师是吧oppo最新款的手机也出现了这种问题
你们有什么解决方案吗?
这个问题根本原因是 content provider, 如果url用传统的 file://, 就没问题。 如果用 content:// 就会出现,不仅是bitmap,mediaplayer setdatasource, 也会出现。
貌似这不是华为问题,这个是所有 android 10 问题
所有上报android10相关相册选择bug都是华为没有其他手机上报
【反馈 bug】 请各位造轮子的大大,有空帮忙解决一哈。 感谢了~
设备名称:Honor Magic 2
型号: TNY-AL00
Android 版本:10
Magic UI版本:3.0.0编译配置:
compileSdkVersion 29
targetSdkVersion 29
multiDexEnabled true在matisse 的 demo 操作步骤:
1、 点击 Dracula
2、在图片选择界面,不点击checkBox,而是点击 图片内容本身来查看大图
3、查看大图页面黑屏,10秒后系统弹框 “Matisse无响应。是否将其关闭?”
【反馈 bug】 请各位造轮子的大大,有空帮忙解决一哈。 感谢了~
设备名称:Honor Magic 2
型号: TNY-AL00
Android 版本:10
Magic UI版本:3.0.0
编译配置:
compileSdkVersion 29
targetSdkVersion 29
multiDexEnabled true
在matisse 的 demo 操作步骤:
1、 点击 Dracula
2、在图片选择界面,不点击checkBox,而是点击 图片内容本身来查看大图
3、查看大图页面黑屏,10秒后系统弹框 “Matisse无响应。是否将其关闭?”
这玩意解决不了的。华为的系统Bitmap api出现的anr。跟华为的智能分辨率有关。他们修过,然后又会在未来新版本又引入,反复很多次了。
解决方法就两,不上架play用 file:// 加载,上架就用华为系统的gallary 去选择,以方便遵守scope storage
我的是华为mate30手机,同样遇到相册加载列表很慢,打开预览图黑屏卡死问题,试了很多方式,最终还是无奈通过修改图片质量解决的。我修改了GlideEngine中的四个glide加载配置,加上.format(DecodeFormat.PREFER_RGB_565),基本上秒开了
Most helpful comment
分析anr,是PhotoMetadataUtils.getBitmapBound(PhotoMetadataUtils.java:88) 这一行卡住了。