編輯:關於Android編程
/** * Funciton:按指定長寬並以最省內存的方式讀取本地資源的圖片(通過C層API加載圖片,消耗的是C層內存,而不會消耗JAVA虛擬機的內存)。 * <font color="red">【注意】此方法應該在以下非常情況下使用:應用內存非常吃緊或者圖片過大時可使用此方法。 * 使用此方法的可能後果:會有一定幾率造成應用崩潰,請慎用,</font> * * @param context * @param resId * @return */ public static Bitmap decodeStreamWithLowMemory(Context context, int resId, int reqWidth, int reqHeight) { // First decode with inJustDecodeBounds=true to check dimensions BitmapFactory.Options options = new BitmapFactory.Options(); options.inJustDecodeBounds = true; BitmapFactory.decodeResource(context.getResources(), resId, options); // Calculate inSampleSize options.inSampleSize = calculateInSampleSize(options, reqWidth, reqHeight); // Decode bitmap with inSampleSize set options.inJustDecodeBounds = false; // Bitmap.Config.ALPHA_8,Bitmap.Config.ARGB_4444,Bitmap.Config.RGB_565 // 設置這幾個參數效果都差不多,確實相當省內存啊,而且還跟原圖清晰度相當 options.inPreferredConfig = Bitmap.Config.ARGB_8888; options.inPurgeable = true; options.inInputShareable = true; // 獲取資源圖片 InputStream is = context.getResources().openRawResource(resId); return BitmapFactory.decodeStream(is, null, options); }
/** * Funciton:以最省內存的方式讀取本地資源的圖片; <font color="red">【注意】: * 此方法以BitmapFactory.decodeResource ()去加載圖片,使用此方法每次會創建一個新的Btimap對象, * 而不會共享應用res中創建的Btimap資源,因此要即時回收舊圖片,以免造成內存洩露。</font> * * @param context * @param resId * @return */ public static Bitmap decodeResourceWithLowMemory(Context context, int resId) { BitmapFactory.Options opt = new BitmapFactory.Options(); // Bitmap.Config.ALPHA_8,Bitmap.Config.ARGB_4444,Bitmap.Config.RGB_565 // 設置這幾個參數效果都差不多,確實相當省內存啊,而且還跟原圖清晰度相當 opt.inPreferredConfig = Bitmap.Config.RGB_565; opt.inPurgeable = true; opt.inInputShareable = true; // return BitmapFactory.decodeResource(context.getResources(), resId, opt); }
這個Toast的顯示在Android中的用途還是很大的,同時我們也知道toast顯示的時間是不可控的,我們只能修改他的顯示樣式和顯示的位置,雖然他提供了一個顯示時間的設置
本文實例講述了Android編程單選項框RadioGroup用法。分享給大家供大家參考,具體如下:今天介紹的是RadioGroup 的組事件.RadioGroup 可將各
Java源文件通過Java編譯器生成CLASS文件,再通過dx工具轉換為classes.dex文件。DEX文件從整體上來看是一個索引的結構,類名、方法名、字段名等信息都存
在前一期中,我們做了懸浮頭部的兩個tab切換和下拉刷新效果,後來項目中要求改成三個tab,當時就能估量了一下,如果從之前的改,也不是不可以,但是要互相記住的狀態就太多了,