J'ai ce code et je veux faire la même chose mais dépenser moins de ram. Une idée pour définir un chargeur d'image dans chacun des 300 ImageView
que je génère ou quelque chose de similaire pour résoudre ce problème?App dépense trop de RAM quand je fais de grandes boucles
DisplayMetrics lDisplayMetrics = getResources().getDisplayMetrics();
int widthPixels = lDisplayMetrics.widthPixels;
for (int getDrawables = 0; getDrawables < 300; getDrawables++)
{
final ImageView icoView = new ImageView(ImageEditor.this);
icoView.setImageResource(getResources().getIdentifier("icon_"+getDrawables, "drawable", getPackageName()));
icoView.setLayoutParams(new LinearLayout.LayoutParams(widthPixels/7,widthPixels/7));
gridlayout.addView(icoView);
int idGen = View.generateViewId();
icoView.setId(idGen);
icoView.setTag("icon_"+getDrawables);
gridlayout.setColumnCount(6);
}
Pouvez-vous m'envoyer un lien ou quelque chose pour obtenir des références à ce sujet? –
J'ai modifié ma réponse pour inclure des liens pertinents. –
Cela me donne le même problème avec ram (j'essaie GridView), pas résolu ... 'E/AndroidRuntime: FATAL EXCEPTION: principal Processus: com.rogerrv.fillthem, PID: 3723 java.lang.OutOfMemoryError: Échec d'allouer une allocation 7225356 d'octets avec 3387472 octets libres et 3MB jusqu'à OOM à dalvik.system.VMRuntime.newNonMovableArray (native Method) à android.graphics.BitmapFactory.nativeDecodeAsset (native Method) .... ' –