首页 > 代码库 > android部分知识总结

android部分知识总结

1、对于android 采用接口List集合可以在事件改变后及时响应

2、android应用层不建议经常使用单例模式,否则会导致应用和多不可控。即使activity销毁数据也没清空,除非严谨的使用数据初始化

3、自定义控件

4、对于线程是可以中断操作的

handler.removeCallbacks(runnable);

task.cancel(true);

5、对于高清图片的加载。不能直接使用Image.setBitmap()加载原图,会导致内存溢出OOM,原理是一个安卓应用内存使用限制在60M左右。当然也可以加大使用内存;但即使如此仍会使图片的加载缓慢。图片加载到内存的大小是由图片编解码和分辨率相关的,对于Bitmap.Config.RGB_565编码为bitmap的图片是一个分辨率占用2个b字节。如:(bitmap.getByteCount()可以获取图片占用的内存大小)

1920*1080*2 = 4147200 = 3M内存 

2160*4096*2 = 16777216=16M内存

6、ARGB_8888、ALPHA_8、ARGB_4444、RGB_565的区别

A:透明度      R:红色     G:绿     B:蓝

Bitmap.Config ARGB_4444:每个像素占四位,即A=4,R=4,G=4,B=4,那么一个像素点占4+4+4+4=16位 

Bitmap.Config ARGB_8888:每个像素占四位,即A=8,R=8,G=8,B=8,那么一个像素点占8+8+8+8=32位

Bitmap.Config RGB_565:每个像素占四位,即R=5,G=6,B=5,没有透明度,那么一个像素点占5+6+5=16位

Bitmap.Config ALPHA_8:每个像素占四位,只有透明度,没有颜色。

一般情况下我们都是使用的ARGB_8888,由此可知它是最占内存的,因为一个像素占32位,8位=1字节,所以一个像素占4字节的内存。假设有一张480x800的图片,如果格式为ARGB_8888,那么将会占用1500KB的内存。

 

7、分辨率

1K = 1920*1080

2K = 1152*2048

4K = 2160*4096

720p= 720*1280

DV = 480*720 

 

8、加载大图可以采用BitmapRegionDecoder类(参考http://www.mobile-open.com/2015/86228.html)

 

9、服务器搭建

apache-tomcat-6.0.45下载zip文件解压后使用。

配置好jdk和环境变量包括apache环境变量后,用bin目录的startup/shutdown启动和关闭服务器

打开路径conf/server.ini配置文件,修改Connector port="8080" protocol="HTTP/1.1" 端口号

Host标签添加访问路径<Context path="/server" docBase="/server/WEB-INF/" debug="0" reloadable="true" />

如:https://localhost:8080/server/index.html 

 

9、android差异包更新apk--->http://blog.csdn.net/lan410812571/article/details/12840263

 

android部分知识总结