Je reçois très occasionnellement l'exception suivante. Cela se produit si rarement que je n'ai pas été capable de comprendre toutes les circonstances qui pourraient le déclencher - je l'ai surtout vu dans les rapports d'exception Flurry d'autres utilisateurs. Cela peut être lié à la désactivation et au retour à l'activité (par exemple avec le bouton Accueil), mais ce n'est qu'une supposition.ImageView provoque l'exception android.graphics.Canvas.throwIfRecycled
class java.lang.RuntimeException android.graphics.Canvas.throwIfRecycled:955 (Canvas: trying to use a recycled bitmap [email protected])
vidage complet LogCat ici: http://pastebin.com/2RjjgWHH
Je l'ai regardé à travers des questions connexes, mais aucun d'entre eux semblent s'appliquer. Le truc, c'est que je ne recycle pas manuellement les bitmaps. Je ne charge pas de grandes images ou ne manipule pas de bitmaps. J'ai un seul, minusculeImageView
icône dans mon application entière, chargé à partir d'une mise en page XML, et je ne fais rien avec lui par programmation, sauf pour basculer le contenant LinearLayout
entre VISIBLE
et GONE
. Fondamentalement, les seules autres choses dans l'application sont deux WebView
s, un TextView
et un ProgressDialog
.
<ImageView android:id="@+id/imageView1" android:layout_height="wrap_content" android:layout_width="wrap_content" android:src="@drawable/icon_a" android:focusableInTouchMode="false" android:focusable="false" android:layout_gravity="center_horizontal"></ImageView>
Y at-il quelque chose que vous devez faire avec un ImageView
spécial pour l'empêcher d'être recyclé, ou vérifier et actualiser si elle est recyclée, lors du passage entre elle et VISIBLE
GONE
? La plupart du temps cela fonctionne parfaitement.
Après avoir effectué d'autres tests, il semble que ce n'est même pas mon ImageView qui cause le problème. À moins que le WebView utilise ImageViews pour quelque chose, je suppose que c'est probablement lié au code AdMob ou similaire. –