【问题标题】:Performance RemoteViews in AndroidAndroid 中的性能 RemoteViews
【发布时间】:2010-11-18 02:32:51
【问题描述】:

我正在尝试在 Android 中编写一个小型应用程序。我的应用程序在小部件上。我对使用 RemoteViews 有一个基本的疑问。我发现每当我更新一些按钮或一些 UI 布局时,就会创建一个新的远程视图对象。会不会是性能问题?示例代码如下:

http://android-developers.blogspot.com/2009/04/introducing-home-screen-widgets-and.html

updateViews = new RemoteViews(context.getPackageName(), R.layout.widget_message);

即使每次都更新视图,也会创建新的远程视图对象。请帮助我理解这一点。

【问题讨论】:

  • 是否可以保存创建的 RemoteView(如在提供程序或服务中)然后进行编辑?就是想。没怎么研究。

标签: android performance android-widget widget


【解决方案1】:

不,这不是问题。我正在使用StackViewsWidget 示例构建一个蜂窝小部件,该小部件对于随机购买的视图组中的每张卡都有一个 RemoteViews,并且每张卡都根据我在调试器中的信息进行回收和重建,并且它很顺利在我的 Xoom 上翻阅视图。

【讨论】:

    【解决方案2】:

    您可以考虑使用单例模式只创建一个对象。这可以通过为您的 RemoteViews 类实现一个单例,然后使用该单例创建 RemoteViews 的对象来完成。实际上,问题在于您正在运行 android 应用程序的机器的内存。如果您能够通过进行一些分析和性能设置来扩展它,那么您可以使用上面的代码很好地创建新对象。但是,如果您有限制,那么我建议您使用单例模式。此解决方案假定您正在使用的机器具有足够的处理能力。

    【讨论】:

    • 在非常短暂的对象的上下文中,例如创建用于在 appwidgets 上呈现视图的 RemoteViews,我很确定单例模式是最不合适的。您是否在现实世界的应用小部件中尝试过?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多