如何提高应用程序的速度

时间:2016-08-18 20:30:48

标签: android performance

看看这两种方法:

//one long single function
public Bitmap getBitmap(Context context, String AssetsFileName) throws IOException {
    return BitmapFactory.decodeStream(context.getAssets().open(AssetsFileName));
}

//separate functions
public Bitmap getBitmap(Context context, String AssetsFileName) throws IOException {
    AssetManager assetManager = context.getAssets();
    InputStream inputStream = assetManager.open(AssetsFileName);
    Bitmap bitmap = BitmapFactory.decodeStream(inputStream);
    return bitmap;
}

哪一个更快或者它们运行速度相同?

第二个问题是更多的对象会降低应用程序的速度还是更好?

2 个答案:

答案 0 :(得分:0)

使用这样的速度提升真的没有意义,即使其中一个变体可以更好地工作 - 差异应该是最小的。如果你想加速你的程序 - 改变另一部分。例如,解码jpg图像通常比解码png更快。

答案 1 :(得分:0)

使用Picasso代替,它为您提供了在内存中缓存图像的强大功能。要在不使用文件时始终解码文件。 你可以配置Picasso它可以占用多少内存,即最大值。

您可以使用某些Map对象实际执行此操作,但是当您的应用程序内存消耗过大时,您必须考虑在使用后释放Bitmap。毕加索为你做这件事。

这实际上不是直接问题的答案,但它可以为您提供一些如何在您的应用中处理位图的提示。