Android(性能)
■ 数据传输
对象和字节流之间的转换
为什么要转? 持久化(装逼说法,JVM非运行的场合),他进程(装逼说法,其他机器JVM,不同的JVM)
Parcelable和Serializable
初衷:
Parcelable: Serializable效率过慢,为了在程序内不同组件间以及不同Android程序间(AIDL)高效的传输数据而设计,
这些数据仅在内存中存在,Parcelable是通过IBinder通信的消息的载体。
Serializable: 保存对象的属性到本地文件、数据库、网络流、rmi以方便数据传输,当然这种传输可以是程序内的也可以是两个程序间的。
一个借助内存,一个借助IO.
■ UI
measure - layout - draw 减少层级 减少子控件数量
viewpaper 同时缓存的page数小于3.并且买个Page在显示时才去加载数据或者网络,避免预加载
图片decode成bitmap内存是成倍的,减小size是根本因素,让服务器提供不同方便率的图片是好的解决方案
线程池
业务上调整 控制网络请求频率
■ Bitmap
http://bugly.qq.com/bbs/forum.php?mod=viewthread&tid=498&extra=&page=2
法1
占用内存大小 width * height * 色彩格式(ARGB888=4) * scale(scale = 目标设备dpi/图片所在文件夹dpi)
法2
jpg图片无alpha通道 ARGB888的一般 alpha不需要的场合 (jpg吃cpu来解压缩)
法3
模糊处理
法4
索引位图 一个像素字节
android不支持 黑户
Skia 引擎支持
■ getView findViewByid
问题: findviewbyid的低效率
对策: 缓存。如何缓存,父view通过setTag来绑定ViewHolder,ViewHolder来缓存这些子view。
利用黄油刀组件,即在第一次创建ViewHolder时可以完成所有子控件的绑定
问题:BaseAdapter的getView (ListView例)
对策:先判断view是否为空,不空的场合直接利用该缓存着的view。
Android(性能)的更多相关文章
- 【腾讯Bugly干货分享】Android性能优化典范——第6季
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/580d91208d80e49771f0a07c 导语 这里是Android性能优 ...
- android 性能分析案例
本章以实际案例分析在android开发中,性能方面的优化和处理.设计到知识点有弱引用,memory monitor,Allocation Tracker和leakcanary插件. 1.测试demo ...
- android 性能优化
本章介绍android高级开发中,对于性能方面的处理.主要包括电量,视图,内存三个性能方面的知识点. 1.视图性能 (1)Overdraw简介 Overdraw就是过度绘制,是指在一帧的时间内(16. ...
- Android性能优化典范第二季
Google前几天刚发布了Android性能优化典范第2季的课程,一共20个短视频,包括的内容大致有:电量优化,网络优化,Wear上如何做优化,使用对象池来提高效率,LRU Cache,Bitma ...
- Android性能优化典范第一季
2015年伊始,Google发布了关于Android性能优化典范的专题,一共16个短视频,每个3-5分钟,帮助开发者创建更快更优秀的Android App.课程专题不仅仅介绍了Android系统中有关 ...
- Android性能优化文章转载
今天看到几篇比较好的文章就转了!(链接如下) 转载注明出处:Sunzxyong Android性能优化之Bitmap的内存优化 Android性能优化之常见的内存泄漏 Android最佳实践之Syst ...
- 《Android性能优化》学习笔记链接<转载>
今天找到一博文汇总了 Android性能优化 比较好的文章 ,本计划全看完,自己再精简下,因篇幅太长,先收藏了,等有时间 再仔细拜读,总结自己的看法: 第一季: http://www.csdn.ne ...
- [转]Android性能优化典范
2015年伊始,Google发布了关于Android性能优化典范的专题,一共16个短视频,每个3-5分钟,帮助开发者创建更快更优秀的Android App.课程专题不仅仅介绍了Android系统中有关 ...
- [Android Pro] Android性能优化典范第一季
reference to : http://www.cnblogs.com/hanyonglu/p/4244035.html#undefined 2015年伊始,Google发布了关于Android性 ...
- Android性能优化系列 + Android官方培训课程中文版
Android性能优化典范 - 第6季 http://hukai.me/android-performance-patterns-season-6/ Android性能优化典范 - 第5季 htt ...
随机推荐
- canvas 绘制矩形
XXX(x,y,width,height) x矩形左上角x坐标 y矩形左上角y坐标 ...
- jquery.validation.js的自定义方法
jQuery.validator.addMethod(name,method[,message]) name方法名 method:function(value,element,params)//val ...
- nginx_笔记分享_php-fpm详解
参考 http://syre.blogbus.com/logs/20092011.htmlhttp://www.mike.org.cn/articles/what-is-cgi-fastcgi-php ...
- phpcms v9联动菜单的调用方法_详解get_linkage函数
phpcms v9联动菜单调用方法[此为内容页调用方法]: {get_linkage($areaid,1,' >> ',1)} 显示效果: phpcms吧 >> 模板下载 &g ...
- 文成小盆友python-num15 - JavaScript基础
一.JavaScript简介 JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的 ...
- C程序设计语言练习题1-17
练习1-17 编写一个程序,打印长度大于80个字符的所有输入行. 代码如下: #include <stdio.h> // 包含标准库的信息. #define MAXROW 10 // 最大 ...
- i++ 与 ++i 的从字节码层面看二者的区别
/** * javap命令可以对class反汇编得到其字节码文件(此命令并不是jdk8开始的,只不过jdk8中对工具进行加强,增加了一些参数,可通过 javap -help了解) * * 注意: * ...
- 浅谈 “空指针、野指针、void*”
Author: JW. Zhou Date: 2014/7/2 一.空指针(0/NULL) 返回NULL和返回0是完全等价的,因为NULL和0都表示空指针,换句话说:空指针是什么,就是 ...
- web api 2 学习笔记 (OData Batch request)
之前介绍过OData 中实现RPC的写法,今天在来一个批量操作. 参考 : https://damienbod.wordpress.com/2014/08/14/web-api-odata-v4-ba ...
- QT文档如何使用
http://blog.csdn.net/chenlong12580/article/details/7389588