Aller au contenu

Image dans spannedString et plantage appoke.


Recommended Posts

Bonjour.

Dans mon code, j'utilise un ImageGetter pour récupérer des images pour ensuite les afficher dans un TextView.

Html.fromHtml(bbcode(description), new ImageGetter() {

return Html.fromHtml(bbcode(description), new ImageGetter() {
           final static String CACHE_DIR = "/sdcard/DIC/image_cache/";

           @Override
           public Drawable getDrawable(String url) {
               try {
                   // get name of image
                   String name = url.substring(url.lastIndexOf("/") + 1);
                   File f = new File(CACHE_DIR + name + ".png");
                   if (!f.exists())
                       downloadImage(url, f);
                   Drawable d = Drawable.createFromPath(f.getAbsolutePath());
                   if (d != null)
                       d.setBounds(0, 0, 150, 150);// make it the size of the
                                                   // image
                   return d;
               } catch (Exception e) {
                   e.printStackTrace();
               }
               return null;
           }

           private void downloadImage(String url, File f) throws IOException {
               // createParent(f);
               URL myFileUrl = new URL(url);
               HttpURLConnection conn = (HttpURLConnection) myFileUrl
                       .openConnection();
               conn.setDoInput(true);
               conn.connect();
               InputStream is = conn.getInputStream();

               Bitmap bm = BitmapFactory.decodeStream(is);
               f.getParentFile().mkdirs();
               f.createNewFile();
               FileOutputStream out = new FileOutputStream(f);

               bm.compress(Bitmap.CompressFormat.PNG, 90, out);
               out.flush();
               out.close();
           }

       }, null);

}

Le problème c'est que à chaque fois que mon code réagit à une image, j'ai un FC sur Appoke.

10-20 11:43:57.180: ERROR/AndroidRuntime(3355): Uncaught handler: thread main exiting due to uncaught exception
10-20 11:43:57.420: ERROR/AndroidRuntime(3355): java.lang.NullPointerException
10-20 11:43:57.420: ERROR/AndroidRuntime(3355):     at com.appoke.store.imageloader.c.a(ImageLoader.java:173)
10-20 11:43:57.420: ERROR/AndroidRuntime(3355):     at com.appoke.store.services.AppokeService.onLowMemory(AppokeService.java:164)
10-20 11:43:57.420: ERROR/AndroidRuntime(3355):     at android.app.ActivityThread.handleLowMemory(ActivityThread.java:3716)
10-20 11:43:57.420: ERROR/AndroidRuntime(3355):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1877)
10-20 11:43:57.420: ERROR/AndroidRuntime(3355):     at android.os.Handler.dispatchMessage(Handler.java:99)
10-20 11:43:57.420: ERROR/AndroidRuntime(3355):     at android.os.Looper.loop(Looper.java:123)
10-20 11:43:57.420: ERROR/AndroidRuntime(3355):     at android.app.ActivityThread.main(ActivityThread.java:4203)
10-20 11:43:57.420: ERROR/AndroidRuntime(3355):     at java.lang.reflect.Method.invokeNative(Native Method)
10-20 11:43:57.420: ERROR/AndroidRuntime(3355):     at java.lang.reflect.Method.invoke(Method.java:521)
10-20 11:43:57.420: ERROR/AndroidRuntime(3355):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
10-20 11:43:57.420: ERROR/AndroidRuntime(3355):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)
10-20 11:43:57.420: ERROR/AndroidRuntime(3355):     at dalvik.system.NativeStart.main(Native Method)

Est-ce lié a mon code, à Appoke ou aux lutins voleurs de slip ?

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Merci pour l'info sur le plantage d'Appoke ;) Le Nullpointer vient bien de l'application Appoke, ça sera corrigé dans la prochaine version. Par contre tu dois utiliser beaucoup de mémoire dans ton code, parce que Appoke passe dans la méthode onLowMemory qui est appelée quand le système a besoin de mémoire.

Lien vers le commentaire
Partager sur d’autres sites

Effectivement j'ai constaté aussi ce message quand je fais d'autres actions sur mon tel comme ouvrir le navigateur ou envoyer un SMS.

La mémoire en carton de mon Magic commence à être sérieusement limite, surtout que je ne fait que réduire une image.

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...