У меня есть очень маленькое действие, которое должно показать изображение.
Если изображение не является очень небольшым (например, 1,12 Мбита 2560x1920), оно производит из памяти на экранной ориентации изменения. Я попробовал getDrawable.setCallback (пустой указатель), но никакая удача.
Где я неправильно?
public class Fullscreen extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
System.gc();
setContentView(R.layout.fullscreen);
ImageView imageView = (ImageView) findViewById(R.id.full_screen_image);
long imageId = 2;
imageView.setImageURI(Uri.withAppendedPath(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "" + imageId));
}
}
Потребляет меньше памяти и уменьшает размер/размер (см. документацию BitmapOptions#inSampleSize) изображения.
Ваше приложение должно пропускать контекст. Обычно это причина того, что приложение вылетает после нескольких смен ориентации. Прочтите внимательно http://android-developers.blogspot.com/2009/01/avoiding-memory-leaks.html .