2016-10-20 4 views
1

私はいくつかのメモリ問題を軽減するために、drawableではなくassetsフォルダからイメージにアクセスしようとしています。アプリケーションのどの部分がコンテキストと見なされますか? Javaファイル、.xml、または一方または他方の一部?

私は、このコードは、これを支援することが分かっ:

public static Drawable getAssetImage(Context context, String filename) throws IOException { 
    AssetManager assets = context.getResources().getAssets(); 
    InputStream buffer = new BufferedInputStream((assets.open("drawable/" + filename + ".png"))); 
    Bitmap bitmap = BitmapFactory.decodeStream(buffer); 
    return new BitmapDrawable(context.getResources(), bitmap); 
} 

私はコンテキストはしかし何であるか困惑しています。私はそれを私のMainActivity.javaに渡すのですか?それとも特定のビューを参照していますか?誰かがこれを説明できるなら、私はそれを感謝します。

答えて

1

はい、このメソッドを呼び出すアクティビティを渡すことができます。

+0

getAssetImage(MainActivity、 "pilots_cropped_edited.png"); –

+0

私はMainActvitiyにいますが、MainActivityに入れたところでは "表現が期待される"と言います。活動のどの部分が期待しているか。 @Roman Samolyenko –

+0

は 'MainActivity.this'を使います。それが活動にある場合。フラグメントの場合。 'getContext()'を使う –

関連する問題