【问题标题】:Android Widget : big image scrollable - out of memoryAndroid Widget:可滚动的大图像 - 内存不足
【发布时间】:2014-10-20 18:12:25
【问题描述】:

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

1。我是怎么做的

这可以通过 ListView 来完成,适配器是一个 RemoteViewsService,我在其中构建位图。然后我创建一个 RemoteViews,并用我的位图调用 setImageViewBitmap。 它正在工作,小部件可以很好地显示我的图像宽度垂直滚动(我想要的!)。

Widget => ListView => setRemoteAdapter(RemoteViewsService) => getViewAt() => RemoteViews => 创建视图并检索位图 => setImageViewBitmap

2。我的记忆问题

当小部件调整大小时,我重新绘制位图并再次执行此工作(图像取决于小部件大小)。而且我看到内存每次都会增长到内存不足...

感谢您的帮助。

【问题讨论】:

  • 你可以在java中删除一个对象,方法是给它分配null。
  • 并使用 Runtime.getRuntime().gc() 调用 gc
  • 我不能分配 null 因为在 RemoteViewsFactory.getViewAt() 的实现中返回了 remoteView :-(

标签: android widget out-of-memory android-remoteview


【解决方案1】:

也许它对某人有用。

之前:

创建视图并检索位图

解决方案:

直接创建位图。 setImageViewBitmap 不会丢失内存:-)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-20
    • 2015-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-22
    • 2017-12-01
    • 1970-01-01
    相关资源
    最近更新 更多