博观而约取,厚积而薄发。这篇文章主要讲述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部分知识总结】
推荐阅读
- 用Ant手动打包android程序
- Android并发编程
- Xamarin.Android提示aapt退出,代码为255
- android学习笔记40——国际化和资源自适应
- android学习笔记39——使用原始资源
- 理解 Android Fragment
- Android业务组件化之子模块SubModule的拆分以及它们之间的路由Router实现
- 关于Android Studio更新后一直Refreshing的解决办法!
- Android学习总结——Content Provider