Chaque si souvent mon appli crash et mon journal de lecture:
@@@ ABORTING: INVALID HEAP ADDRESS IN dlfree
Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1)
Parfois, code=2
, mais toujours Fatal signal 11
et invalid heap address
.
J'ai essayé la recherche de ce que cela signifie et comment le résoudre. Ce fil a été le plus utile; cependant, je suis toujours sans solution.
L'erreur se produit lorsque j'exécute un couple de AsyncTasks
télécharger plusieurs images.
C'est ma principale AsyncTask
public class FetchArtistImages extends AsyncTask<Void, Integer, String[]> implements Constants {
private final WeakReference<Context> contextReference;
public FetchArtistImages(Context context) {
contextReference = new WeakReference<Context>(context);
}
@Override
protected String[] doInBackground(Void... params) {
String[] projection = new String[] {
Audio.Artists._ID, Audio.Artists.ARTIST
};
String sortOrder = Audio.Artists.DEFAULT_SORT_ORDER;
Uri uri = Audio.Artists.EXTERNAL_CONTENT_URI;
Cursor c = contextReference.get().getContentResolver()
.query(uri, projection, null, null, sortOrder);
ArrayList<String> artistIds = new ArrayList<String>();
if (c != null) {
int count = c.getCount();
if (count > 0) {
final int ARTIST_IDX = c.getColumnIndex(Audio.Artists.ARTIST);
for (int i = 0; i < count; i++) {
c.moveToPosition(i);
artistIds.add(c.getString(ARTIST_IDX));
}
}
c.close();
c = null;
}
return artistIds.toArray(new String[artistIds.size()]);
}
@Override
protected void onPostExecute(String[] result) {
for (int i = 0; i < result.length; i++) {
new LastfmGetArtistImages(contextReference.get()).executeOnExecutor(
AsyncTask.THREAD_POOL_EXECUTOR, result[i]);
}
super.onPostExecute(result);
}
Même si j'ai essayé la recherche de ce qui est avec ce, encore je me trouve perdu quand il s'agit de corriger. Si quelqu'un a une bonne idée, je serais certainement apprécier de la voir. L'erreur n'est pas jeté à chaque fois que j' execute
mon AsyncTasks
, mais je ne trouve pas beaucoup d'un modèle à l'aide d'isoler pourquoi cela se produit. Il ya un couple de d'autres threads sur DONC environ fatal signal 11
, mais ils ne fournissent pas beaucoup d'aide dans mon cas.