Android小部件:大图像可滚动-内存不足

Android小部件:大图像可滚动-内存不足,android,widget,out-of-memory,android-remoteview,Android,Widget,Out Of Memory,Android Remoteview,我尝试在Android上创建一个小部件,显示一个动态生成的图像,比小部件大 1.我是怎么做到的 这可以通过ListView完成,适配器是一个RemoteViews服务,我在其中构建位图。然后我创建一个RemoteView,并使用位图调用setImageViewBitmap。 它的工作,小部件显示以及我的图像宽度垂直滚动我想要的 Widget=>ListView=>setRemoteAdapterRemoteViewsService=>getViewAt=>RemoteViews=>create

我尝试在Android上创建一个小部件,显示一个动态生成的图像,比小部件大

1.我是怎么做到的 这可以通过ListView完成,适配器是一个RemoteViews服务,我在其中构建位图。然后我创建一个RemoteView,并使用位图调用setImageViewBitmap。 它的工作,小部件显示以及我的图像宽度垂直滚动我想要的

Widget=>ListView=>setRemoteAdapterRemoteViewsService=>getViewAt=>RemoteViews=>create a view and retrieve bitmap=>setImageViewBitmap

2.我的记忆问题 当小部件调整大小时,我会重新绘制位图,并根据小部件的大小再次执行该操作。我看到记忆每次都在增长,直到失去记忆


谢谢你的帮助。

也许它对某人有用

之前:

创建视图并检索位图

解决方案:

直接创建位图。setImageViewBitmap在不丢失内存的情况下工作:-


您可以通过为java中的对象分配null来删除该对象。并使用Runtime调用gc。getRuntime.gcI无法分配null,因为remoteView是在RemoteViewsFactory.getViewAt的实现中返回的:-