им получение отказа от ошибки памяти только occasionall при использовании следующего кодаAndroid Из памяти небольшого растрового изображения
public class MyActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
// CODE FOR PUTTING BITMAP ON BACKGROUND
String pathName = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).toString()
+ "/Backgrounds/0.png";
Resources res = getResources();
Bitmap bitmap = BitmapFactory.decodeFile(pathName);
BitmapDrawable bd = new BitmapDrawable(res, bitmap);
View view = findViewById(R.id.screen1);
view.setBackgroundDrawable(bd);
}
растровое изображение только 310k и его то же растровое на всю свою деятельность (в 10)
Это происходит, когда происходит быстрое переключение из одной активности в другую.
любые идеи, как сделать его более эффективным?
любая помощь
Марк
'растровое изображение - только 310k'. Вы имеете в виду, что «файл png - всего 310 КБ» !? Растровое изображение будет занимать гораздо больше памяти. – greenapps
310kb - * сжатый * размер вашего изображения png. когда он загружается в память, он называется ** в памяти ** размером и может быть другим (как правило, больше). Что вызывает OOM ** в памяти ** размер вашего растрового изображения. Вы должны проверить, сколько памяти вы пытаетесь выделить. Предложение: Используйте библиотеки загрузки изображений для Android. –
Вы можете добавить "System.gc();" чтобы заставить сборщик мусора андроида очистить память. – acac97