设为首页 加入收藏

TOP

Android应用实例之动态展示assets下图片
2014-11-24 12:02:42 来源: 作者: 【 】 浏览:0
Tags:Android 应用 实例 动态 展示 assets 图片

实现的功能:在ImageView中动态(每隔0.1秒)展示assets下图片,所有图片播放完毕后再重新开始播放。


实现思路:


1)通过AssetManager获取assets下资源,使用BitmapFactory将图片资源输入流转换为Bitmap对象,然后将Bitmap对象设置到ImageView组件中。


关键技术点:AssetManager应用、Bitmap对象回收技术、Handler应用、多线程及线程的终止等。


第1步:新建一个工程,命名为DisplayImagesDemo,Activity命名为DisplayImagesActivity。


第2步:往assets下拷贝几张测试用图片,然后修改main.xml文件,代码如下:



第3步:修改DisplayImagesActivity,代码如下



备注1:


之所以如此处理是因为assets下除了图片资源还有images、sounds和webkit,打开onCreate下的displayAssets()方法,可以看到输出日志。


备注2:


如果系统频繁地去解析、创建Bitmap对象,可能由于前面创建的Bitmap所占用的内存还没有回收(手机系统本身的内容就比较小),而导致程序运行时引发OutOfMemory错误。


事实上,如果将备注2回收Bitmap对象的语句注释掉,图片动态展示若干张(视具体情况而定,我在模拟器里运行只展示了4张就挂掉了),错误日志为:


INFO/ActivityManager(73): Low Memory: No more background processes.


第4步:运行程序,效果如下:



】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Linux C 开发中重要的数据结构—.. 下一篇U-Boot在JX2410上的移植

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Asus Armoury Crate (2025-12-26 02:52:33)
·WindowsFX (LinuxFX) (2025-12-26 02:52:30)
·[ Linux运维学习 ] (2025-12-26 02:52:27)
·HTTPS 详解一:附带 (2025-12-26 02:20:37)
·TCP/IP协议到底在讲 (2025-12-26 02:20:34)