美文网首页
Android性能优化之Bitmap加载优化

Android性能优化之Bitmap加载优化

作者: itfitness | 来源:发表于2021-08-23 10:59 被阅读0次

    目录

    Bitmap优化

    1.Bitmap.Config配置

    这里我们用BitmapFactory.decodeResource不加BitmapFactory.Options的方式来加载Bitmap

    Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_bg);
    img.setImageBitmap(bitmap);
    

    这时我们可以查看APP消耗的内存



    然后我们加上BitmapFactory.Options设置Bitmap.Config为RGB_565,这时我们再看APP的运行内存



    我们可以发现内存使用少了10MB多,这是因为默认Bitmap的Config为ARGB_8888,需要占的空间比较多,而我们如果对图片的显示要求不是很大的话,我们就可以通过配置Bitmap.Config减少内存的使用
    2.加载方式优化

    BitmapFactory.decodeResourceBitmapFactory.decodeStream相比
    ● BitmapFactory.decodeResource

    //记录开始加载时的时间
            long startTime = System.currentTimeMillis();
            Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.raw.ic_bg);
            img.setImageBitmap(bitmap);
            //计算加载的耗时
            long useTime = System.currentTimeMillis() - startTime;
            Log.e("加载时间",useTime + "ms");
    

    我们用一张168kb的图片加载发现所用时间为212ms


    ● BitmapFactory.decodeStream
    //记录开始加载时的时间
            long startTime = System.currentTimeMillis();
            InputStream inputStream = getResources().openRawResource(R.raw.ic_bg);
            Bitmap bitmap = BitmapFactory.decodeStream(inputStream);
            img.setImageBitmap(bitmap);
            //计算加载的耗时
            long useTime = System.currentTimeMillis() - startTime;
            Log.e("加载时间",useTime + "ms");
    

    我们发现同样的图片仅用24ms



    而且消耗的内存也很小


    相关文章

      网友评论

          本文标题:Android性能优化之Bitmap加载优化

          本文链接:https://www.haomeiwen.com/subject/gwikiltx.html