Android数据资源处理的问题-通过学习后自己的理解

来源:互联网 发布:pta算法与数据结构 编辑:程序博客网 时间:2024/06/15 21:17
Android 数据资源的认识
资源分类/资源缓存/资源处理的知识总结

通过种类可以分为三大类

bitmap 图像资源 图像资源
因为图片资源在资源中相对较大,而且会被频繁使用,所以对于图片的图例也有

ImageLoad,volley,xutils等处理框架,来对图片进行一定的优化!

音视频文件,又称为流媒体资源,一般情况下是非常庞大的;
最近在开发的时候好像也有用c++写的底层框架了,方便了编写;
一般做到流媒体的软件(酷我,qq音乐,搜狗音乐,爱奇艺视屏等等)才会特别对流媒

体进行处理,而且极少缓存,一般人都不会想去缓存/也会有缓存一段时间就进行更替

掉;一般情况下,直接使用Android内容封装的轻量级的流媒体播放器来播放

byte 字节类资源;把字节或者文字写成各种各样的主流格式,然后通过解析来加载数据;一般在使用的时候可以通过xml和json等(现在还有falterbuffer)

方式来进行读写操作


资源的缓存:
1.服务端下载的资源
get,post或者使用第三方框架(volley,xutils,okhttp等)搭建的请求
将获取到的资源进行解析为我们使用的资源

在存放的优先级上,放在服务器可以减少移动终端app的文件大小
所以一般的资源文件是能够放在服务端就不会放在客户端


2.文件缓存的资源
通过File类,java的I/O 流处理技术,将文件缓存到手机卡中
所有的app中的文件,包括java文件都是通过这个来加载的!
最大的作用是,当一些文件需要内反复使用的时候,
会优先考虑放在文件缓存当中,(通常占用的也是手机的机身容量)因为在服务端下载

还是需要耗费流量的!!!

在Android偏好设置和数据库存储都是通过文件缓存来实现的
偏好设置的文件一般非常的小,
放在app目录下面,直接用Context对象就可以获取到
因为存放的内容一般都会比较小,不存在耗时 的问题

数据库存储:是一种文件优化类型的存储,相当于电脑中的exls文件,提供了快速索引和增删查改的方法;实现了文件快速的读取,这里也不算太耗时


3.内存缓存的资源
需要反复加载处理的文件会最优先级放入到内存缓存当中,
以便于在java文件中调用的时候可以最快速的,无延迟的获取到

异步的处理:

线程,

线程的概念很大很多,也很好用;

当在处理多个对象的时候会使用到;

当需要处理一些时间操作类的时候必须用到的,(在原生的Android类库里面好像封装了全局定时器,这里没有涉及到,但是网上肯定是有的,可以搜罗一下)

加载资源的时候不提倡使用线程而是用下面的异步线程

异步线程,

在加载耗时操作(如:网络请求,加载大文件,图片等)的时候都需要去通过异步线程去完成里面的操作

在原生的Android os包中,异步线程是封装了5个线程池,来交替循环使用;

这个也是通过线程的基础之上来进行优化的!


handler:
在线程中需要更新UI的时候,
可以使用handler这个轻量级的异步线程,里面有封装对短时间的操作,

毫秒值范围内;



上文中是通过学习Android/自己在脑中整理的知识点,有不对的地方还望大家指出;虽然涉及到很多东西,但讲的都不深,只是为了初级者开发者看了,能够知道怎么去合理加载和使用资源,水平不错的开发者,还望提出你们宝贵的意见!

0 0
原创粉丝点击