在surfaceview的使用時,發現一個現象:html
一、當AndroidManifest.xml文件中定義了uses-sdk屬性時,使用drawBitmap(Bitmap bitmap, float left, float top, Paint paint)畫圖時,顯示結果爲圖片的實際大小。java
二、當AndroidManifest.xml文件中不定義了uses-sdk屬性時,使用drawBitmap(Bitmap bitmap, float left, float top, Paint paint)畫圖時,顯示結果爲圖片拉伸後的顯示。android
<uses-sdk> 是用來描述該應用程序能夠運行的最小和最大API級別,以及應用程序開發者設計指望運行的平臺版本。因爲安卓平臺的碎片化,能夠經過它來解決系統版本上的安裝和兼容性體驗問題。具體的相關知識看這篇博客就差很少了 http://blog.csdn.net/fuzhengchao/article/details/28121193。所以,在不指定uses-sdk屬性時,系統會以兼容模式運行程序。api
爲了進一步肯定問題的緣由,我調整了uses-sdk中minSdkVersion和targetSdkVersion的值,發如今不指定targetSdkVersion的狀況下(此時targetSdkVersion的值默認等於minSdkVersion),當minSdkVersion<=3時,現象同現象2;當minSdkVersion>=4時,現象同現象1 。查看谷歌官方的api版本特性(http://www.android-doc.com/about/versions/android-1.6-highlights.html)時能夠發現如下特性:app
Android 1.6 adds screen support that enables applications to be rendered properly on different display resolutions and densities. Developers can also specify the types of screens supported by their application.eclipse
即從android1.6纔開始加入屏幕適配的黑科技(嚴肅臉),而這以前統一輸出爲569*320..net