穹の思念

https://github.com/nostra13/Android-Universal-Image-Loader

整合上述源码

资源是好不容易下载到的,关于代码,没什么好说的。

说点这期间遇到的问题。

漫画 的每一话大概有20几个页面,实际都是jpg图片,那么这里就涉及到

展示图片,但要确保不出现OOM的异常。

当然google的android也为我们封装好了若干方法,来方便快捷地完成这项工作,如ImageView的setImageBitmap,setImageResource,BitmapFactory的decodeResource等,但是尽量不要使用setImageBitmap或setImageResource或BitmapFactory.decodeResource来设置一张大图,因为这些函数在完成decode后,最终都是通过java层的createBitmap来完成的,需要消耗更多内存;

因此,改用先通过BitmapFactory.decodeStream方法,创建出一个bitmap,再将其设为ImageView的source,加载显示。decodeStream最大的秘密在于其直接调用JNI>>nativeDecodeAsset()来完成decode,无需再使用java层的createBitmap,从而节省了java层的空间

上面这段话,网上一搜到处都是。

当我改用BitmapFactory.decodeStream 创建出一个bitmap,再将其设为ImageView的source,后,确实不报异常了。但是新的问题又来了。解析图片所占的内存小了,但是图片也被压缩了,显示效果不佳。

之后想是否可以使用缓存机制,保证当前页的前一页和后一页加载在内存中,以保证切换画面流畅,有点类似队列的模式。

Android 真的提供这样的机制 -- LruCache类 ,强引用缓存。

 mMemoryCache = new LruCache<String, Bitmap>(cacheSize) {
            //必须重写此方法,来测量Bitmap的大小
            @Override
            protected int sizeOf(String key, Bitmap bitmap) {
                // 重写此方法来衡量每张图片的大小
                 return bitmap.getByteCount() ;
            }
        };
 /**
     * 添加Bitmap到内存缓存
     * @param key
     * @param bitmap
     */
    public void addBitmapToMemoryCache(String key, Bitmap bitmap) {
        if (getBitmapFromMemCache(key) == null /*&& bitmap != null*/) {
            mMemoryCache.put(key, bitmap);
        }
    }   

    /**
     * 从内存缓存中获取一个Bitmap
     * @param key
     * @return
     */
    public Bitmap getBitmapFromMemCache(String key) {
        return mMemoryCache.get(key);
    }
class BitmapWorkerTask extends AsyncTask<Integer, Void, Bitmap> {

        // 在后台加载图片。
        @Override
        protected Bitmap doInBackground(Integer... params) {
            final Bitmap bitmap = BitmapFactory.decodeResource(getResources(), params[0]);
            addBitmapToMemoryCache(String.valueOf(params[0]), bitmap);
            return bitmap;
        }
    } 

确实能缓存,但也许是图片比较大的原因,程序运行中连续快速切换下一页时还是会在此处BitmapFactory.decodeResource 报OOM异常。

在最后eclipse生成带签名的apk时,我修改的项目的名字,结果更新引用后,出现了感叹号。

这时因为引用的jar包路径不对了。右键项目名称 BuildPath ---> Configure Build Paht...中,

然后上面有几个选项卡找到 Libraries中出现红色叉号的包为路径错误的包,remove掉,重新添加即可。

最后用github上这个开源代码了,觉得自己水平真菜,弱爆了。。

如下图:

资源我用ps批处理压缩过,为了保证清晰度,压缩比例不大,所以安装包会比较大。

至于这是不是福利就仁者见仁了,如果你不想用这个程序看,你可以解压安装包,资源就在assets文件夹下。

怎么解压apk文件,相信大家都知道的。

下载: 穹の思念

时间: 2024-08-29 13:17:57

穹の思念的相关文章

思念很痛很苦也很美

思念很痛很苦,但也很美. 随着年龄的增长,社会压力的增大,我慢慢的发现要再像年轻时那样勇敢的去爱一个人,去思念一个人已经变得非常困难了.这难道就是大家常开玩笑的"累觉不爱"吗?我们在感情上变得更加理性,这有好处,但另一方面其实我们慢慢的在变得更加麻木,我们很多时候会用理性去控制感性.我能很清晰的感受到,我已经很难像年轻时那样单纯的去思念一个人了,也许有人说这是成熟,但我觉得为了成熟我付出的代价太大了,我已经慢慢的失去了爱的能力,失去了思念的能力.所以,对于我来说,思念是如此珍贵,思念是

OSChina 周三乱弹 —— 有种思念叫忘穿秋裤

各位OSCer 大家好,一天不见,大家有没有想我想到忘穿秋裤 @xmy_zjl   <秋   裤>  作者 非 本 人 我要穿秋裤, 冻得扛不住.一场秋雨来, 十三四五度. 我要穿秋裤, 谁也挡不住. 翻箱倒柜找, 藏在最深处. 说穿我就穿, 谁敢说个不. 未来几天内, 还要降几度. 若不穿秋裤, 后果请自负! 有一种思念叫望穿秋水, 有一种寒冷叫忘穿秋裤! --天凉了,同窗提醒您,该穿秋裤啦! 天冷了,记得穿上秋裤去上班,另外也请记得出门先化妆 @Ye良辰:有位非常漂亮的女同事,有天起晚了没

春雨缠绵,思念已成殇

引言于(造句大全):我的思念,是你前世遗忘采摘而无法成熟的青果,不舍那未了的情缘,我才执意轮回世间. 宿命纷飞,夜末央,碎在何方?流年似水,难定格,悠悠流散. 痴守千年,月老红残誰为我牵?独恋万疆,情煎寸心尚复何言? 万般无奈也说前缘.三生石上,故步可寻:人间今世,良缘可定.芳名作枕,星月照眠:溺水惊心,映梦前缘.天地有情,永护同心之石:川岳不改,终圆并枕之盟. 誰念誰,一生浮华殇?誰情誰,一世离别愁? 红尘滚滚几千年,湮没了太多的悲情凯歌.难忘却,几度红颜损伤.依然灯火岷州,月夜魂,萦阁楼,无

[音乐] 《犬夜叉》主题曲 Misses beyond time - 穿越时空的思念

试听: 時代を超える想い2 - 虾米音乐 http://www.xiami.com/song/1769288161 時代を超える想い2 - 网易云音乐http://music.163.com/#/song?id=541131 QQ音乐暂无. 作者:和田薰 来源:漫画<犬夜叉>原声带<穿越时空的思念>       <犬夜叉>是日本漫画家高桥留美子于1996年11月27日开始在<周刊少年Sunday>杂志上连载的以描写战国童话故事为题材的长篇漫画,于2008年6

秋在季节轮回里,你在思念绽放中

夜色阑珊,月光洒下满地银辉.悠扬哀婉的乐曲刺破夜空,划出了精美的弧线,律动着甜美的回忆.我想掬一袭清风,载着爱的翅膀,飞向你的怀抱.孤单的我倚窗而立,极目远眺有你的那座城市,依稀是我拉长的背影,以一双澄净的眼眸,将你一片迷醉的粉红痴痴的凝望,心底的思念开始慢慢的沸腾.我用眷恋装饰想念,我用文字舞动痴情,我将满怀的相思凝成殷殷的红豆托清风相送.“红豆生南国,春来发几枝,愿君多采撷,此物最相思.”唐代着名诗人王维留下的诗句让我醉了.我醉在你温情的眼眸里,我醉在夜夜的甜梦里.夜深更漏忱着你的名字入眠,

见与不见,思念一直在;爱与不爱,心一直在

谁是你心上的疼,谁是你忘不了的情,谁是你醒不了的梦?见与不见,思念一直在:爱与不爱,心一直在.滚滚红尘,一个转身就是陌路天涯:虚拟网络,一个删除就是再无交集.相遇靠缘分,相守靠人心.不是所有的人,都能一直在等:不是所有的情,都能维系一生.许多的名字,越来越模糊:许多的心情,越来越陌生. http://www.0577top.com/Article/2015/20154/2015416151336_102078.htmlhttp://www.0577top.com/Article/2015/201

本地的上海网站建设公司有哪些 穹拓创建网站大约多少钱多长时间能做好

2019年公司注册好了想要通过互联网宣传推广得到订单,首先想要了解下本地的上海网站建设公司有哪些从中选择一家价格比较低的公司去做,穹拓小编认为听别人说哪家专业不如自己亲自选择,通过各种优势对比后确定下来一家公司去做.可以通过百度或360搜索到一些网络公司,然后观察他们自己的官网以及案例做的如何,然后再联系他们谈谈看服务态度和专业程度如何,最后再做定夺. 公司创建网站大约多少钱多长时间能做好,正常情况下对网站的细节要求不高,功能不复杂的网站,制作下来价格在5000-8000元,如果有特殊功能要求或

本地的上海网站建设公司有哪些,穹拓创建网站大约多少钱多长时间能做好

2019年公司注册好了想要通过互联网宣传推广得到订单,首先想要了解下本地的上海网站建设公司有哪些从中选择一家价格比较低的公司去做,穹拓小编认为听别人说哪家专业不如自己亲自选择,通过各种优势对比后确定下来一家公司去做.可以通过百度或360搜索到一些网络公司,然后观察他们自己的官网以及案例做的如何,然后再联系他们谈谈看服务态度和专业程度如何,最后再做定夺. 公司创建网站大约多少钱多长时间能做好,正常情况下对网站的细节要求不高,功能不复杂的网站,制作下来价格在5000-8000元,如果有特殊功能要求或

穹举,迭代,while循环。

所有循环  必要条件 :   初始条件(注意初始条件的位置)   循环条件   循环体   状态改变: 1.穷举 将所有可能性全部全部走一遍,使用IF筛选出满足的情况 使用循环语句    for   或者  while 语句   do ...while   语句  中间嵌套  if 语句 举例 1, 穷举:将所有可能性全部走一遍,使用if筛选出满足的情况            单位给发了一张150元购物卡,            拿着到超市买三类洗化用品.            洗发水15元,香