java - imageView 在 Nexus 5 (Android 6.0) 中不显示

标签 java android nexus-5

我在 RelativeLayout 中有一个 ImageView:

    <ImageView
        android:id="@+id/image"
        android:src="@drawable/image1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:adjustViewBounds="true"
        android:scaleType="fitCenter"
        android:layout_centerVertical="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />

它适用于许多设备(手机和平板电脑)和模拟器,但不适用于装有 Android 6 的 Google Nexus 5。该应用程序运行良好,但不显示 ImageView 背景。

(图像在可绘制文件夹中,我使用 setImageResource 更改图像)

最佳答案

我也遇到了同样的问题,我的图像显示在 Android 6.0 的所有 android 版本中。 我在 android 5.0 和 android 6.0 中测试我的应用程序,当时图像在 android 5.0 中正确显示,但在 android 6.0 中图像不会加载到 Imageview 中。

我使用了 src 和 background 这两个属性,但没有在 android 6.0 的 Imageview 中获取图像。

然后,为了解决这个问题,我检查了我的 logcat,我在 logcat 中得到了以下字符串。

W/OpenGLRenderer: Bitmap too large to be uploaded into a texture (3240x5760, max=4096x4096)

我搜索了相关的这个字符串并得到了解决方案,它是 Android 6.0 不允许在 UI 线程中执行繁重的进程。如果您的图像尺寸和分辨率都较小,那么您可以使用 src 或 background 加载它。但是你的图片太重了,Android 6.0 在 UI Thread 中跳过了这个过程。

但是,您可以使用以下解决方案解决此问题。

解决方案 1:

使用第三方库解决,如Glide用于加载繁重的图像。 我已经用这个解决了它。

方案二:

res中添加一个drawable-nodpi文件夹,将图片放入其中,只需在Imageview标签中与src一起使用即可。

enter image description here

关于java - imageView 在 Nexus 5 (Android 6.0) 中不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33204925/

相关文章:

Android Studio 2.2.3 Gradle Build 运行卡住

android - 如何从设备定义中找到 Nexus 5 选项?

java - 如何判断数组值的序列是否是回文?

android - 如何动态地将唯一图像加载到每个 gridview 元素

Android - 布局不统一

使用 adb 命令捕获时,Android 4.4 不允许我保存图片

java - getFocusDistances() 相机 API 函数是否真的适用于 Nexus 5?或任何其他设备?

java - Java 中的 Char 指针

java - 平均图像的四个像素会产生不稳定的颜色

java - onBackPressed() 无法使 MainActivity 重新加载