android部分知识总结
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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部分知识总结的主要内容,如果未能解决你的问题,请参考以下文章
2021年字节跳动+京东+美团面试总结!最全Android知识总结