java.lang.OutOfMemoryError:位图大小超出 Appcelerator Titanium 中的 VM 预算
在我的应用程序中,我在 TableView 列表中使用了很多图像,因此我收到了 java.lang.OutOfMemoryError: 位图大小超出 VM 预算,而且我的应用程序在 Android 模拟器中崩溃了。任何人都可以帮我解决这个问题
In my Application I have used lots of images on TableView Listing, So that I am getting java.lang.OutOfMemoryError: bitmap size exceeds VM budget
also my application crashed in android emulator. Anyone help me to solve this issue
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
当您为 Android 构建时,titanium 不建议使用表视图进行列表。
而是使用滚动视图。
通过使用表视图,您还可能会遇到文本字段焦点丢失问题,并且钛也已知 tableView 滚动性能问题
https://jira.appcelerator.org/browse/TIMOB-1821
更好的方法是在滚动视图中使用低分辨率图像并使用正确的 JavaScript 结构并将代码分解为小函数。
尝试删除不必要的事件处理程序,即图像“加载”事件
titanium doest not recommend using table view for listing when you are building for android.
instead use scrollview.
by using table view you may also get into textfield focus-lost problem and also titanium has known tableView scroll performance issue
https://jira.appcelerator.org/browse/TIMOB-1821
a better approach is to use low resolution images in scrollview and use proper javascript structure and break your code into small functions.
try to remove unnecessary event handlers i.e image "load" event
一个想法是使用较小的图像。确保不要缩小它们的规模。相反,调整它们的大小。
An idea would be to use smaller images. Make sure that you don't scale them down. Resize them instead.
以下是避免此错误的一些建议:
1.使用jpg图片代替png(jpg尺寸较小)
2. 通过完成未使用的活动来尝试将运行时内存保持在最低限度。
3.使用DDMS监控运行时内存使用情况
Here are a few suggestions for avoiding this error:
1. Use jpg images instead of png (jpgs are smaller in size)
2. Try to keep your runtime memory minimum by finishing the activities which are not being used.
3. Use DDMS to moniter your runtime memory usage