0

この質問は、Android アプリケーションの開発にのみ関係します。

画面の向きが変更されると、アクティビティは再起動しますが、アプリケーションは再起動しません。その結果、ビットマップは頻繁に再インスタンス化する必要があります。

ただし、アプリケーションを拡張するクラスにビットマップを配置すると、それらのビットマップは再インスタンス化されません。

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 に答える