图像未出现在 HTC One M8 上
Image not appearing on HTC One M8
我目前正在为我工作的公司开发一款新应用。
我们在多个设备上对此进行了测试,前几天我注意到了一件奇怪的事情,其他人也做过。
我的同事在他的 HTC one m8 上测试了该应用程序,我们在登录页面上有背景图片,但没有为他显示。但是在 Nexus 7、Samsung Galaxy Tab 4、Motorola G 和 Samsung S4 上确实如此。
这可能非常具体,但我想有些人之前一定在某些设备上注意到了这种行为,并找出了为什么会发生这种情况?
图像保存在常规可绘制文件夹中,大小为 1400px933px,为 jpeg。
不知道有没有人知道。
ImageView 是相对布局的第一个子级,宽度和高度的大小都与父级匹配。所以它应该刚好合适,其他视图在这个之上。
我在使用 Samsung Galaxy Note 3 时遇到了类似的问题。这是唯一无法加载大位图图像的设备。经过相当长的搜索后,我终于发现某些 phone 默认情况下为应用程序使用较小的堆大小。这是因为内存优化和防止内存泄漏问题。所以基本上你可以做以下事情来解决这个问题,
对 activity 清单中的元素使用 android:largeHeap="true"
。这将为您的应用程序提供较大的堆大小。
使用像这样的图像加载库
Android-Universal-Image-Loader
使用分辨率较低的优化图片。
我认为这个问题也与 android 缩放图像的方式有关。尝试将图像放入 drawable-nodpi
资源文件夹。
drawable
文件夹与 drawable-mdpi
相同。在 HTC One M8 上,符合 mdpi
条件的图像被放大了 3 倍。因此您的 1400x933px
图像变为 4200x2799px
。 OpenGL 允许的最大尺寸是 4096x4096
.
这可能会得到解答,但因为我的搜索将我引导到这里,而且其他人也可能会得到解答。我的 xml 以前是这样的。看到它生成 app:srcCompat 感到很惊讶,因为我从未听说过。我保持代码不变,并将“@drawable/your_image”复制为我添加的新属性的值 android:src.
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@drawable/salwa_small"
android:id="@+id/img_my_profile_picture"/>
之后:
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@drawable/salwa_small"
android:src="@drawable/salwa_small"
android:id="@+id/img_my_profile_picture"/>
我之前只能在 android studio designer 中看到图片,但在两者中都出现了。
我目前正在为我工作的公司开发一款新应用。 我们在多个设备上对此进行了测试,前几天我注意到了一件奇怪的事情,其他人也做过。
我的同事在他的 HTC one m8 上测试了该应用程序,我们在登录页面上有背景图片,但没有为他显示。但是在 Nexus 7、Samsung Galaxy Tab 4、Motorola G 和 Samsung S4 上确实如此。
这可能非常具体,但我想有些人之前一定在某些设备上注意到了这种行为,并找出了为什么会发生这种情况?
图像保存在常规可绘制文件夹中,大小为 1400px933px,为 jpeg。
不知道有没有人知道。
ImageView 是相对布局的第一个子级,宽度和高度的大小都与父级匹配。所以它应该刚好合适,其他视图在这个之上。
我在使用 Samsung Galaxy Note 3 时遇到了类似的问题。这是唯一无法加载大位图图像的设备。经过相当长的搜索后,我终于发现某些 phone 默认情况下为应用程序使用较小的堆大小。这是因为内存优化和防止内存泄漏问题。所以基本上你可以做以下事情来解决这个问题,
对 activity 清单中的元素使用
android:largeHeap="true"
。这将为您的应用程序提供较大的堆大小。使用像这样的图像加载库 Android-Universal-Image-Loader
使用分辨率较低的优化图片。
我认为这个问题也与 android 缩放图像的方式有关。尝试将图像放入 drawable-nodpi
资源文件夹。
drawable
文件夹与 drawable-mdpi
相同。在 HTC One M8 上,符合 mdpi
条件的图像被放大了 3 倍。因此您的 1400x933px
图像变为 4200x2799px
。 OpenGL 允许的最大尺寸是 4096x4096
.
这可能会得到解答,但因为我的搜索将我引导到这里,而且其他人也可能会得到解答。我的 xml 以前是这样的。看到它生成 app:srcCompat 感到很惊讶,因为我从未听说过。我保持代码不变,并将“@drawable/your_image”复制为我添加的新属性的值 android:src.
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@drawable/salwa_small"
android:id="@+id/img_my_profile_picture"/>
之后:
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@drawable/salwa_small"
android:src="@drawable/salwa_small"
android:id="@+id/img_my_profile_picture"/>
我之前只能在 android studio designer 中看到图片,但在两者中都出现了。