强制生成的位图在API 21及更高版本上使用而不是向量drawable

时间:2017-10-18 17:37:26

标签: java android android-studio bitmap

如您所知,Android Studio构建管道生成矢量绘图的位图版本,以便在API 21之前的设备上使用。 由于我们的一些矢量大于200dpx200dp的建议分辨率,因此它们作为矢量绘制的绘制性能不是很好。 我们不想在我们的设计过程中停止使用矢量drawable,但我们不希望矢量文件也包含在我们的apk中。相反,我们希望在API 21之上的设备上使用位图版本。 有可能吗?

1 个答案:

答案 0 :(得分:0)

你应该能够使用Proguard来做到这一点 - > https://developer.android.com/studio/build/shrink-code.html#keep-resources

虽然可能需要一点配置。一切顺利!

新编辑: 请尝试以下方法:

使用标记在项目中创建XML文件,并指定要保留在工具中的每个资源:在工具中保留属性和每个资源:discard属性

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools"
tools:keep="@drawable/bitmap_used*_c,@drawable/bitmap_used_a,@drawable/bitmap_used_b*"
tools:discard="@@drawable/vector_unused2" />

我试过了。有用。让我知道它是怎么回事。