0

这个问题只涉及Android应用程序的开发。

当屏幕的方向改变时,Activity 会重新启动,但 Application 不会。因此,位图通常必须重新实例化。

但是通过将位图放在扩展应用程序的类中,这些位图将不会被重新实例化。

public class MainApplication extends Application {
    Bitmap bmp;
    @Override
    public void onCreate(){
        super.onCreate();
        bmp=BitmapFactory.decodeResources(getResources(),R.drawable.bmp);
    }
}

这不会使应用程序更有效率吗?但是,我还没有看到有人这样做,所以我推断这可能有不利之处。

那么,问题来了,为什么我不应该这样做呢?

4

1 回答 1

3

在 Android 中,您的内存通常非常有限(因为旧设备),因此将位图(可能有很大的尺寸)保留在内存中是一个非常冒险的决定。此外,最好调整位图的大小,以便它们只占用必要的内存,并且如果方向发生,比例可能会改变。

于 2013-09-26T03:56:04.073 回答