[Android笔记] 关于 AppWidget 动态更新:RemoteViews 更新缓慢&内存溢出

本文探讨Android AppWidget的动态更新问题,尤其是使用RemoteViews时可能出现的更新缓慢和内存溢出现象。Android 1.5后不再支持定期更新,开发者需通过Service或Receiver手动更新。频繁使用RemoteViews的addView和removeAllViews可能导致性能下降和ANR。RemoteViews并非如同ViewsGroup般强大,限制了动画效果。单个RemoteViews实例的ArrayList导致内存问题,因为未初始化,导致内存不断膨胀。实验表明,频繁GC操作影响设备响应速度,建议避免同一RemoteViews对象的重复使用。
摘要由CSDN通过智能技术生成

AppWidget 提供在 Launcher 中显示,诸如快捷操作,小工具等,如果只是提供快捷操作我想界面可以简洁,但如果 AppWidget 如果想提供类似广告和豆瓣电台那样效果的话,动态改变 AppWidget ,显示就显得很重要了,毕竟想在 Android 制胜的还是 UI 战争和用户体验~


Android 在 1.5 之后就取消了android:updatePeriodMillis="**" 的属性,有的说是30分钟,无从考证,除非看源代码,后续弄 ...


想要动态更新还是要自己写 Service 或者触发事件用 Receiver 更新都是可行的,后面文章会介绍 AppWidget 动态更新相关,现在比较澎湃想写关于 RemoteViews 在更新 AppWidget 中存在的问题!-。-,跟题目描述一样,我们都知道 AppWidget 更新是用 RemoteViews 来更新的,但你有没有发现一个问题:当你更新频繁的时候,你是不是用一个 RemoteViews 引用来动态更新,而不是每次在去栈中申请一个变量,如果是,这就对了这篇文章可以解决你的问题!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值