社区
Android
帖子详情
新手请教:采用viewflipper实现多图片展示,如何解决OOM的问题?
yumyumwang
2012-07-05 11:17:57
各位大侠,帮我看看吧,我的头都大了。
使用viewflipper,在XML中直接配置了30个view,用来显示图片,实现了滑动翻片。
在虚拟机上测试,已进入就报出 outofmemory的错误。
我对内存管理没什么了解,在XML中配置30个view,是不是在一上来就都加载到内存里了?
怎么释放内存,还不影响画面效果?
...全文
770
9
打赏
收藏
新手请教:采用viewflipper实现多图片展示,如何解决OOM的问题?
各位大侠,帮我看看吧,我的头都大了。 使用viewflipper,在XML中直接配置了30个view,用来显示图片,实现了滑动翻片。 在虚拟机上测试,已进入就报出 outofmemory的错误。 我对内存管理没什么了解,在XML中配置30个view,是不是在一上来就都加载到内存里了? 怎么释放内存,还不影响画面效果?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
问题
从项目拷出来的源码,
解决
View
Flip
per加载多张
图片
出现
OOM
问题
,测试加载20张
图片
无异常,有需要的同学可以下载看看,需自己修改下代码
使用
View
Flip
per
实现
图片
左右滑动效果
View
Flip
per,不妨把它看做一个容器吧,你可以把许多的
View
放在这个容器中,让它
展示
给用户,虽然它每次只
展示
一个
view
,我感觉它的用途更好是作为广告
展示
,比如类似购物网站那样的广告滚动
展示
。这个demo是一个...
Android界面控件难点精讲
在Android开发中,有时用到一些常见的控件可以更轻松
实现
一些效果,比如如果要
实现
图片
轮播效果,我们可以使用动画的方式
实现
,但是代码比较繁琐,而此时,我们
采用
View
Flip
per控件即可非常方便地
实现
图片
轮播。...
View
Flip
per
实现
滑动轮播
利用
View
Flip
per
实现
图片
的轮播效果
View
Flip
per
实现
图片
轮播
图片
轮播\
View
Flip
per
实现
图片
轮播+手势轮播
Android
80,349
社区成员
91,287
社区内容
发帖
与我相关
我的任务
Android
移动平台 Android
复制链接
扫一扫
分享
社区描述
移动平台 Android
android
android-studio
androidx
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章