3

我正在开发一个 aminSdkVersion为 9,atargetSdkVersion为 17 的应用程序。我正在执行一些Bitmap像素操作,所以有一次我调用该函数Bitmpap.setHasAlpha()来启用 alpha 通道,Bitmap这样我就可以将某些(并且只有某些!)像素设置为透明。

问题是Bitmap.setHasAlpha()它只添加在 API 12 中——这就是神秘之处。Lint 并没有抱怨我对这个调用的使用(嗯......作为一般规则。每隔一段时间 Eclipse 会抱怨它,然后当我重新启动它时一切恢复正常),当我在几个不同的 Gingerbread(2.3.3 和 2.3.5)设备上运行我的应用程序时,一切运行正常。

所以......这个问题听起来很奇怪,为什么我的应用程序没有崩溃?

4

2 回答 2

2

http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/2.3.5_r1/android/graphics/Bitmap.java?av=f 如您所见,该功能已存在之前但没有记录

于 2013-07-26T01:56:20.027 回答
-1

minSdkVersion是一项检查,旨在防止在甚至没有与minSdk.

targetSdkVersion用于确定是否需要启用任何兼容性“解决方法”以确保行为与在targetSdk

通过设置minSdkVersion=9您的信号,允许姜饼设备下载和安装您的应用程序。通过设置 targetSdkVersion=17您发出信号,即调用任何变通方法以允许设备从以后的 sdk 中保留尽可能多的功能。

同样正如Pulkits 的回答中提到的那样setHasAlpha(),即使在 2.3.4 Android 框架中,API 似乎也存在,尽管当时没有正式记录。

于 2013-07-26T02:07:09.800 回答