java - 安卓项目OOM
PHP中文网
PHP中文网 2017-04-18 09:39:09
0
6
517
PHP中文网
PHP中文网

认证0级讲师

membalas semua(6)
Ty80

Bagaimana pula dengan menggunakan bingkai gambar seperti meluncur? Mungkin lebih baik untuk memampatkan imej secara automatik

阿神

Saya juga pernah mengalaminya, dan saya tidak mengelak sepenuhnya, tetapi saya boleh mencuba yang terbaik
1. Muatkan imej setempat dengan pemampatan yang sesuai

   InputStream is = this.getResources().openRawResource(R.drawable.pic1);
    BitmapFactory.Options options = new  BitmapFactory.Options();
     options.inJustDecodeBounds =  false;
     options.inSampleSize =  10;   // width,hight设为原来的十分一
     Bitmap btp =  BitmapFactory.decodeStream(is, null,  options);

2. Tambahkan:

pada aplikasi
      android:largeHeap="true"
      android:hardwareAccelerated="true"
      这样可以使用更大的内存,而不会报错

Sudah tentu penyelesaian yang paling asas ialah menuntut semula ingatan pada masa yang sesuai. Contohnya, antara muka gelongsor yang anda nyatakan boleh dinilai dalam penyesuai Jika antara muka tidak dipaparkan, imej akan dikitar semula Apabila antara muka gelongsor dipaparkan, ia akan dimuat semula

大家讲道理

Gambar tunggal secara amnya tidak akan menjadi OOM Jika terdapat berbilang gambar, ia tidak memerlukan definisi tinggi. Sebilangan besar gambar definisi tinggi sukar diproses, jadi cuba gunakan pemuatan tak segerak, pemampatan (selepas pemampatan, ia bukan lagi definisi tinggi), kitar semula berbilang dan pemuatan jeda gelongsor.

黄舟
  1. Tidak perlu menggunakan sejumlah besar imej definisi tinggi pada antara muka yang sama Sebaiknya jangan melebihi saiz Paparan, jika tidak, ia tidak akan bermakna,

  2. Kemudian anda boleh memilih untuk menurunkan beberapa kualiti untuk mengurangkan penggunaan...

  3. Kemudian anda mempunyai pilihan untuk menuntut semula memori apabila melakukan operasi lain...

左手右手慢动作

glide adalah lebih baik sedikit daripada Picasso (glide dipertingkatkan berdasarkan Picasso Jika ia adalah APP yang menggunakan banyak gambar, tetapi ia menggunakan Fresco, teknologi hitam FaceBook, cache gambar dan ruang memori dibuka dengan sendirinya). ia adalah menakjubkan. (Terdapat juga beberapa imej kabur yang telah dimuatkan sebelumnya, tetapi ia agak menyusahkan untuk digunakan. Secara peribadi, ia adalah kerana anda perlu memberikan imej sekurang-kurangnya nilai ketinggian atau lebar yang jelas, jika tidak kedua-dua wrap_contents tidak akan dipaparkan)

小葫芦

Kaedah mudah ialah menukar format imej kepada webp Kualiti imej tidak akan berkurangan banyak, tetapi saiz imej akan dikurangkan dengan banyak

.
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan