我从一个文件中读取需要创建的界面的内容的信息,文件中的信息如下所示,里面有很多个SHOWPAGE,代表一个界面,但是可能一个SHOWPAGE只是整个界面的一部分而已,需要多个SHOWPAGE拼接成一个完整的,所有界面的大小为1024*768(这个需要根据手机屏幕大小来调整布局大小),下面所显示的SHOWPAGE为第一页,然后后面的页面的显示会用到这页的一部分东西,也就是两个页相叠加,总之是多个页得组合,我目前的做法是创建一个主的layout,然后每页再创建一个小的layout,将子layout添加到主layout中,因为有大小和位置,这样每次跳到新的页就相当于,添加的layout将这块原本的layout遮住了,这样不断添加,就会导致累积越来越多的控件,占用内存,而且这些控件都是由背景图片的,由于这些图片太多,会造成outofmemory的问题,而且我回收这些图片又会有trying to use a recycle bitmap的问题。这样的问题该怎么决定,请大家帮个忙吧,很急,做的太窝火了!!!谢谢啦!!!<SHOWPAGE>
<PAGE>
<OBJID>ff000001</OBJID>
<X>0</X>
<Y>0</Y>
<WIDTH>1024</WIDTH>
<HEIGHT>768</HEIGHT>
<PROPERTIES>
<STARTPAGE>1</STARTPAGE>
<NAME></NAME>
<BACKGROUND>background_index.png</BACKGROUND>
</PROPERTIES>
</PAGE>
<STATIC>
<OBJID>fa000001</OBJID>
<WINDOWSNAME>Meeting</WINDOWSNAME>
<STYLE>0</STYLE>
<X>20</X>
<Y>42</Y>
<WIDTH>200</WIDTH>
<HEIGHT>75</HEIGHT>
<PROPERTIES>
<NAME>IDC_STATIC_fa000001</NAME>
<BACKGROUND>xxxx</BACKGROUND>
<Alignment>Center</Alignment>
<FONT font="Times New Roman" size="52" color="0xffffff"/>
</PROPERTIES>
</STATIC>
<IMAGE>
<OBJID>FB000001</OBJID>
<WINDOWSNAME>xxxx</WINDOWSNAME>
<STYLE>0</STYLE>
<X>236</X>
<Y>72</Y>
<WIDTH>31</WIDTH>
<HEIGHT>27</HEIGHT>
<PROPERTIES>
<NAME>IDC_STATIC_fb000001</NAME>
<BACKGROUND>arrow_top.png</BACKGROUND>
</PROPERTIES>
</IMAGE>Android图片布局界面
<PAGE>
<OBJID>ff000001</OBJID>
<X>0</X>
<Y>0</Y>
<WIDTH>1024</WIDTH>
<HEIGHT>768</HEIGHT>
<PROPERTIES>
<STARTPAGE>1</STARTPAGE>
<NAME></NAME>
<BACKGROUND>background_index.png</BACKGROUND>
</PROPERTIES>
</PAGE>
<STATIC>
<OBJID>fa000001</OBJID>
<WINDOWSNAME>Meeting</WINDOWSNAME>
<STYLE>0</STYLE>
<X>20</X>
<Y>42</Y>
<WIDTH>200</WIDTH>
<HEIGHT>75</HEIGHT>
<PROPERTIES>
<NAME>IDC_STATIC_fa000001</NAME>
<BACKGROUND>xxxx</BACKGROUND>
<Alignment>Center</Alignment>
<FONT font="Times New Roman" size="52" color="0xffffff"/>
</PROPERTIES>
</STATIC>
<IMAGE>
<OBJID>FB000001</OBJID>
<WINDOWSNAME>xxxx</WINDOWSNAME>
<STYLE>0</STYLE>
<X>236</X>
<Y>72</Y>
<WIDTH>31</WIDTH>
<HEIGHT>27</HEIGHT>
<PROPERTIES>
<NAME>IDC_STATIC_fb000001</NAME>
<BACKGROUND>arrow_top.png</BACKGROUND>
</PROPERTIES>
</IMAGE>Android图片布局界面
解决方案 »
- activity跳转后 service是否工作
- android系统 如何添加usb设备驱动
- 请andriod 程序员 帮忙解答一下,谢谢大家~~~
- android FM(收音机)问题
- Android系统的CheckedTextView在使用时会出现闪屏?
- 求助,CursorFactory()的实现
- android中的menu的背景颜色如何设置?请指教
- Android新人 按照视频操作结果无法实现两个Activity的跳转 mainfest注册没问题,可以单独实现。
- android sdk 运行时报错,求大神帮忙
- android imageview图片显示错乱 三星note3
- 急救
- android 错误信息
压缩一下图片资源吧
另外 如果是你手动加载的bitmap 记得回收 图片质量要求不高的话 可以压缩
利用系统id引用的资源 可以不管 一般会有处理 主要是我们认为的decode的bitmap 不处理稳稳的溢出啊
我晕 那就是逻辑问题了 既然还在使用 就不回收啊 可以放到一个数组里 保存bitmap的引用 然后固定一个大小 大于一定的数量 删掉没用的并recycle 需要的时候在创建另外 如果资源实在太多 就压缩 或者 修改 单个应用内存上限大小
我晕 那就是逻辑问题了 既然还在使用 就不回收啊 可以放到一个数组里 保存bitmap的引用 然后固定一个大小 大于一定的数量 删掉没用的并recycle 需要的时候在创建另外 如果资源实在太多 就压缩 或者 修改 单个应用内存上限大小
我看了下我的图片,就几张大的,最大也只有500多K,然后大多是几K或几十K,我想了下造成溢出的可能原因是我加载太多了,基本上我重复添加一个layout的话,那么这些图片就会又增多了
我晕 那就是逻辑问题了 既然还在使用 就不回收啊 可以放到一个数组里 保存bitmap的引用 然后固定一个大小 大于一定的数量 删掉没用的并recycle 需要的时候在创建另外 如果资源实在太多 就压缩 或者 修改 单个应用内存上限大小
我看了下我的图片,就几张大的,最大也只有500多K,然后大多是几K或几十K,我想了下造成溢出的可能原因是我加载太多了,基本上我重复添加一个layout的话,那么这些图片就会又增多了
是滴 图片重复使用的话 就保存引用 避免多次创建
而且别小看10几K 创建成bitmap 如果像素足够高的 随便达到几M 更别说500多K的(bitmap每个像素点就占8个字节)
我晕 那就是逻辑问题了 既然还在使用 就不回收啊 可以放到一个数组里 保存bitmap的引用 然后固定一个大小 大于一定的数量 删掉没用的并recycle 需要的时候在创建另外 如果资源实在太多 就压缩 或者 修改 单个应用内存上限大小
我看了下我的图片,就几张大的,最大也只有500多K,然后大多是几K或几十K,我想了下造成溢出的可能原因是我加载太多了,基本上我重复添加一个layout的话,那么这些图片就会又增多了
是滴 图片重复使用的话 就保存引用 避免多次创建
而且别小看10几K 创建成bitmap 如果像素足够高的 随便达到几M 更别说500多K的(bitmap每个像素点就占8个字节)
怎么保存引用?额我是菜鸟。
decodeFileDescriptor(FileDescriptor fd, Rect outPadding, BitmapFactory.Options opts)参考以下代码Options opts = new Options();
opts.inSampleSize = 4;
Bitmap bm = BitmapFactory.decodeFile(imgPath, opts);
数值越大越不清晰
没研究过希望有帮助
1.图片压缩(http://blog.csdn.net/sgz_china/article/details/9230347)
2. 软引用或弱引用
3. 资源及时回收
但是你最根本的是你这样去实现这个功能本来就有问题,要重用才行
我晕 那就是逻辑问题了 既然还在使用 就不回收啊 可以放到一个数组里 保存bitmap的引用 然后固定一个大小 大于一定的数量 删掉没用的并recycle 需要的时候在创建另外 如果资源实在太多 就压缩 或者 修改 单个应用内存上限大小
我看了下我的图片,就几张大的,最大也只有500多K,然后大多是几K或几十K,我想了下造成溢出的可能原因是我加载太多了,基本上我重复添加一个layout的话,那么这些图片就会又增多了
是滴 图片重复使用的话 就保存引用 避免多次创建
而且别小看10几K 创建成bitmap 如果像素足够高的 随便达到几M 更别说500多K的(bitmap每个像素点就占8个字节)
怎么保存引用?额我是菜鸟。
创建个全局的bitmap数组 Bitmap[] bitmaps;
当创建bitmap时,将引用存到数组里,下次需要这张图时,不要创建,直接使用引用
另外,当你不需要某张图时(比如view隐藏或者remove等) 可以将引用删除 然后recycle bitmap