社区
Android
帖子详情
新手请教:采用viewflipper实现多图片展示,如何解决OOM的问题?
yumyumwang
2012-07-05 11:17:57
各位大侠,帮我看看吧,我的头都大了。
使用viewflipper,在XML中直接配置了30个view,用来显示图片,实现了滑动翻片。
在虚拟机上测试,已进入就报出 outofmemory的错误。
我对内存管理没什么了解,在XML中配置30个view,是不是在一上来就都加载到内存里了?
怎么释放内存,还不影响画面效果?
...全文
793
9
打赏
收藏
新手请教:采用viewflipper实现多图片展示,如何解决OOM的问题?
各位大侠,帮我看看吧,我的头都大了。 使用viewflipper,在XML中直接配置了30个view,用来显示图片,实现了滑动翻片。 在虚拟机上测试,已进入就报出 outofmemory的错误。 我对内存管理没什么了解,在XML中配置30个view,是不是在一上来就都加载到内存里了? 怎么释放内存,还不影响画面效果?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Andytoms
2013-05-28
打赏
举报
回复
能不能给个完整的demo?
yumyumwang
2012-07-09
打赏
举报
回复
对,你说的对,我也就这样觉得。只是查了好多帖子,也没弄清楚该怎么addview。
你能详细的说说removeViewAt(), addView(),diaplay的机制吗?我这代码输出出来,竟然有两个view的index都是0,一头雾水
hvk687
2012-07-09
打赏
举报
回复
没有你的完整代码,不好下结论。
只是有一点要注意: viewFlipper集成自framelayout.重载了removeViewAt(), addView().
在执行这些操作的时候,同时会设置下一个要display的view.你应该是在这里出了问题
yumyumwang
2012-07-09
打赏
举报
回复
我选择的解决方案是,不把所有的child View 配置在XML中,改在代码中动态添加,通过删除、添加view的操作,保证viewflipper中始终存在三个 View,用来展示下一个、前一个,使当前展示的View的Index始终为1。
但是在处理享有滑动的时候,出现了问题,怎么也没弄清楚,请大侠帮忙!
代码大体如下:
this.flipper.showPrevious();
imageIndext--;
//删除后后一个
flipper.removeViewAt(2);
//创建一个子View
int resId = (int)imageAdapter.getItemId(imageIndext - 1);//
View itemLayoutPre = inflater.inflate(R.layout.itemlayout, null);
itemLayoutPre.setBackgroundResource(resId);
//添加到viewflipper的最前面
flipper.addView(itemLayoutPre,0);
运行后,结果为:子视图个数一直为3,向右滑动后不能正常显示添加的这个View,而是找到了后一个。
请大家帮我看看,这种方法错在哪里?
yumyumwang
2012-07-09
打赏
举报
回复
谢谢大家的帮助,我发现问题是display的位置问题。
hvk687
2012-07-09
打赏
举报
回复
最好看看viewflipper的源代码,我大体的看了一下,这个针对你的具体问题,你还是自己看看吧,呵呵
yumyumwang
2012-07-05
打赏
举报
回复
说的对,现在这种方式肯定不行,一下子都加载到内存里了
hvk687
2012-07-05
打赏
举报
回复
如果显示的格式是固定的,不要全部都写到xml中,因为图片很占内存。你可以用gallery widget,临时渲染。这样就不会有问题了。
TobyC
2012-07-05
打赏
举报
回复
采用java中的
软引用
来解决bitmap oom的问题比较科学。
解决
View
Flip
per加载多张
图片
出现
OOM
问题
在Android开发中,`
View
Flip
per`是一个非常实用的组件,用于
展示
多个视图并
实现
翻页效果。然而,当`
View
Flip
per`用来加载大量的
图片
时,可能会遇到内存溢出(Out Of Memory,简称
OOM
)的
问题
。这个
问题
通常是由于...
最简单的
View
Flip
per
实现
图片
跟随手势滑动
在Android开发中,
View
Flip
per是一个非常有用的控件,它允许开发者轻松地在多个视图之间切换,通常用于
实现
类似轮播图或者卡片翻页的效果。在这个“最简单的
View
Flip
per
实现
图片
跟随手势滑动”的教程中,我们将深入...
View
Pager和
View
Flip
per
实现
图片
左右滑动
在Android开发中,为了提供优秀的用户体验,经常需要
实现
图片
的左右滑动切换功能,这通常是通过
View
Pager或
View
Flip
per组件来完成的。这两个组件都属于Android SDK中的布局管理器,可以方便地
展示
多个视图并支持用户...
View
Flip
per
实现
图片
轮播
`
View
Flip
per`是Android SDK中的一个布局容器,它允许我们在多个视图之间进行动画切换,非常适合用来
实现
图片
轮播功能。本篇文章将深入探讨如何使用`
View
Flip
per`来
实现
图片
轮播,并添加手势滑动切换
图片
的功能。 ...
循环
view
Flip
per
实现
这个"循环
view
Flip
per
实现
"的标题和描述表明我们将探讨如何利用
View
Flip
per
实现
一个自动循环播放
图片
的功能。下面我们将深入讲解
View
Flip
per的工作原理,以及如何设置和定制它来达到这样的效果。
View
Flip
per是...
Android
80,471
社区成员
91,391
社区内容
发帖
与我相关
我的任务
Android
移动平台 Android
复制链接
扫一扫
分享
社区描述
移动平台 Android
android
android-studio
androidx
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章