我正在开发一个minSdkVersion
为9,targetSdkVersion
为17的应用程序。我正在执行一些Bitmap
像素操作,因此我在某一时刻调用函数{{ 1}}为Bitmpap.setHasAlpha()
启用Alpha通道,这样我就可以将某些(并且只有某些!)像素设置为透明。
问题是Bitmap
仅在API 12中添加 - 这就是神秘的地方.Lint并没有抱怨我对这个电话的使用(嗯......作为一般规则。曾经有一段时间Eclipse会抱怨它,然后当我重新启动它时,一切都恢复正常),当我在几个不同的Gingerbread(2.3.3和2.3.5)设备上运行我的应用程序时,一切都运行正常。
所以...这个问题听起来很奇怪,为什么我的应用程序崩溃了呢?
答案 0 :(得分:2)
http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/2.3.5_r1/android/graphics/Bitmap.java?av=f正如你所看到的那样,这个功能之前存在但未记录
答案 1 :(得分:-1)
minSdkVersion
是一项检查,旨在防止在没有与minSdk
相对应的框架的旧设备上下载和安装应用。
targetSdkVersion
用于确定是否需要启用任何兼容性“变通办法”以确保行为与targetSdk
通过设置 minSdkVersion=9
,您发出允许姜饼设备下载并安装您的应用的信号。通过设置
targetSdkVersion=17
您发出信号,表示会调用任何变通办法,以允许设备尽可能多地保留以后的sdk功能。
同样如Pulkits' answer中所述, setHasAlpha()
API似乎也存在于2.3.4 Android框架中,尽管当时没有正式记录。