API 26 添加了新选项 Bitmap.Config.HARDWARE:
特殊配置,当位图仅存储在图形内存中时.此配置中的位图始终是不可变的.对于具有位图的唯一操作是在屏幕上绘制它的情况,它是最佳的.
文档中未解释的问题:
Bitmap.Config.HARDWARE在
Bitmap.Config.RGB_565当速度是重中之重,质量和可变性都没有(如缩略图等)?OutOfMemoryException在处理图像时,这似乎最终会令人担忧.OutOfMemoryException:)?这是我的第一个在中加载Vector-Drawable的代码layer-list。后来我不得不改变我的矢量可绘制的颜色。我发现我应该添加位图以使用tint属性。这是我的第一个代码和vector drawable在中显示良好layer-list。
<item>
<shape
android:padding="1dp"
android:shape="oval">
<corners
android:bottomLeftRadius="5dp"
android:bottomRightRadius="5dp"
android:topLeftRadius="5dp"
android:topRightRadius="5dp"/>
<solid android:color="@color/accent"/>
</shape>
</item>
<item android:drawable="@drawable/ic_check_black_24px"/> // this is vector drawable
Run Code Online (Sandbox Code Playgroud)
所以我将代码更改为此。我无法在XML的位图中加载vector-Drawable。
<item>
<shape
android:padding="1dp"
android:shape="oval">
<corners
android:bottomLeftRadius="5dp"
android:bottomRightRadius="5dp"
android:topLeftRadius="5dp"
android:topRightRadius="5dp"/>
<solid android:color="@color/accent"/>
</shape>
</item>
<item>
<bitmap
android:src="@drawable/ic_check_black_24px"
android:tint="@color/white"/>
</item>
Run Code Online (Sandbox Code Playgroud)
问题在这里。我无法在位图中加载vector-drawable,这会导致我的应用崩溃。