Codenameone Android应用程序中Bitmap.getWidth上的空指针

Codenameone Android应用程序中Bitmap.getWidth上的空指针,codenameone,Codenameone,我有一个在Android上运行的CodenameOne中创建的应用程序,在尝试缩放太多图像后抛出NullPinteExpections。我已经使用CacheMap来帮助解决这个问题,但是在加载太多图像后仍然会遇到这个问题 下面是我从InfiniteContainer fetchComponents中引发问题的代码 Image i = (Image) MoveService.getInstance().getImage(thumbnail_url); if (i == null)

我有一个在Android上运行的CodenameOne中创建的应用程序,在尝试缩放太多图像后抛出NullPinteExpections。我已经使用CacheMap来帮助解决这个问题,但是在加载太多图像后仍然会遇到这个问题

下面是我从InfiniteContainer fetchComponents中引发问题的代码

Image i = (Image) MoveService.getInstance().getImage(thumbnail_url);
        if (i == null) {
            i = theme.getImage(move.getThumbnail_url());
            if (i != null) {
                i = i.fill(width+20, (width / 2) * 3);
                MoveService.getInstance().putImage(move.getThumbnail_url(), i);
            }
        }
以下是我从日志中得到的信息:

[EDT] 0:8:57,596 - Exception: java.lang.NullPointerException - Attempt to      invoke virtual method 'int android.graphics.Bitmap.getWidth()' on a null object reference
java.lang.NullPointerException: Attempt to invoke virtual method 'int  android.graphics.Bitmap.getWidth()' on a null object reference
    at android.graphics.Bitmap.createScaledBitmap(Bitmap.java:748)
    at com.codename1.impl.android.c.a(AndroidImplementation.java:1688)
    at com.codename1.k.s.c(Image.java:1008)
    at com.codename1.k.s.c_(Image.java:954)
    at com.codename1.k.s.b(Image.java:919)
    at com.codename1.impl.android.c$8.a(AndroidImplementation.java:6216)
    at com.codename1.k.n.a(EncodedImage.java:627)
    at com.codename1.k.n.b(EncodedImage.java:654)
    at com.codename1.k.s.e(Image.java:903)
    at com.codename1.k.s.f(Image.java:974)
    at com.altitude.studios.polebible.e$b.<init>(Unknown Source)
    at com.altitude.studios.polebible.e$16.a(Unknown Source)
    at com.codename1.k.u.m(InfiniteContainer.java:143)
    at com.codename1.k.u$5.run(InfiniteContainer.java:172)
    at com.codename1.k.m.l(Display.java:1154)
    at com.codename1.k.m.j(Display.java:1098)
    at com.codename1.k.m.i(Display.java:999)
    at com.codename1.k.ad.run(RunnableWrapper.java:120)
    at com.codename1.impl.b$1.run(CodenameOneThread.java:60)
    at java.lang.Thread.run(Thread.java:818)
[EDT]0:8:57596-异常:java.lang.NullPointerException-尝试在空对象引用上调用虚拟方法“int-android.graphics.Bitmap.getWidth()
java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“int android.graphics.Bitmap.getWidth()”
位于android.graphics.Bitmap.createScaledBitmap(Bitmap.java:748)
位于com.codename1.impl.android.c.a(AndroidImplementation.java:1688)
com.codename1.k.s.c(Image.java:1008)
在com.codename1.k.s.c(Image.java:954)
com.codename1.k.s.b(Image.java:919)
位于com.codename1.impl.android.c$8.a(AndroidImplementation.java:6216)
在com.codename1.k.n.a(EncodedImage.java:627)
在com.codename1.k.n.b(EncodedImage.java:654)
com.codename1.k.s.e(Image.java:903)
com.codename1.k.s.f(Image.java:974)
在com.aighty.studios.poleble.e$b(未知来源)
在com.aighty.studios.poleble.e$16.a(未知来源)
com.codename1.k.u.m(InfiniteContainer.java:143)
com.codename1.k.u$5.run(InfiniteContainer.java:172)
com.codename1.k.m.l(Display.java:1154)
com.codename1.k.m.j(Display.java:1098)
com.codename1.k.m.i(Display.java:999)
在com.codename1.k.ad.run(runnablerrapper.java:120)
在com.codename1.impl.b$1.run(CodenameOneThread.java:60)
运行(Thread.java:818)

如果映像通过错误的管道,而底层本机映像消失,则可能发生这种情况。如果图像是字体图像或类似的“外来”图像,请尝试使用
ToEncodeImage()
或类似方法将其转换为常规图像


如果在映像上显式调用
dispose()
,也会发生这种情况。

如果映像通过错误的管道,而底层本机映像消失,则会发生这种情况。如果图像是字体图像或类似的“外来”图像,请尝试使用
ToEncodeImage()
或类似方法将其转换为常规图像

如果在图像上显式调用
dispose()
,也可能发生这种情况