Android面试题-与性能优化相关面试题三
来源:互联网 发布:虫虫群发软件 编辑:程序博客网 时间:2024/05/18 20:11
本文配套视频
- String字符串优化配套视频
- 其他优化配套视频
源码分析相关面试题
- Volley源码分析
- 注解框架实现原理
- okhttp3.0源码分析
与XMPP相关面试题
- 与XMPP相关试题一
- 与XMPP相关试题二
与性能优化相关面试题
- 与性能优化相关面试题一
- 与性能优化相关面试题二
- 与性能优化相关面试题三
- 与性能优化相关面试题四
- 与性能优化相关面试题五
- 与性能优化相关面试题六
- 与IPC机制相关面试题
与登录相关面试题
- oauth认证协议原理
- token产生的意义
- 微信扫一扫实现原理
与开发相关面试题
- 迭代开发的时候如何向前兼容新旧接口
- 手把手教你如何解决as jar包冲突
- context的原理分析
与人事相关面试题
- 人事面试宝典
String字符串优化
最常见的例子就是当你要频繁操作一个字符串时,使用StringBuffer代替String。
还比如:使用int数组而不是Integer数组。
避免创建短命的临时对象,减少对象的创建就能减少垃圾收集,进而减少对用户体验的影响。
ListView优化
- Item布局,层级越少越好,使用hierarchyview工具查看优化。
- 复用convertView
- 使用ViewHolder
- item中有图片时,异步加载
- 快速滑动时,不加载图片
- item中有图片时,应对图片进行适当压缩
- 实现数据的分页加载
减少不必要的全局变量
尽量避免static成员变量引用资源耗费过多的实例,比如Context。
因为Context的引用超过它本身的生命周期,会导致Context泄漏。所以尽量使用Application这种Context类型。
你可以通过调用Context.getApplicationContext()或 Activity.getApplication()轻松得到Application对象。
Cursor(游标)回收
Cursor是Android查询数据后得到的一个管理数据集合的类,在使用结束以后。应该保证Cursor占用的内存被及时的释放掉,而不是等待GC来处理。并且Android明显是倾向于编程者手动的将Cursor close掉,因为在源代码中我们发现,如果等到垃圾回收器来回收时,会给用户以错误提示。
Receiver(接收器)回收
调用registerReceiver()后未调用unregisterReceiver().
当我们Activity中使用了registerReceiver()方法注册了BroadcastReceiver,一定要在Activity的生命周期内调用unregisterReceiver()方法取消注册
也就是说registerReceiver()和unregisterReceiver()方法一定要成对出现,通常我们可以重写Activity的onDestory()方法,在onDestory里进行unregisterReceiver操作
Stream/File(流/文件)回收
主要针对各种流,文件资源等等如:
InputStream/OutputStream,SQLiteOpenHelper,SQLiteDatabase,Cursor,文件,I/O,Bitmap图片等操作等都应该记得显示关闭。
避免内部Getters/Setters
在Android中,虚方法调用的代价比直接字段访问高昂许多。通常根据面向对象语言的实践,在公共接口中使用Getters和Setters是有道理的,但在一个字段经常被访问的类中宜采用直接访问。
for循环
访问成员变量比访问本地变量慢得多,如下面一段代码:
for(int i =0; i < this.mCount; i++) {}
永远不要在for的第二个条件中调用任何方法,如下面一段代码:
for(int i =0; i < this.getCount(); i++) {}
对上面两个例子最好改为:
int count = this.mCount; / int count = this.getCount(); for(int i =0; i < count; i++) {}
- 欢迎关注微信公众号,长期推荐技术文章和技术视频
- Android面试题-与性能优化相关面试题三
- Android面试题-与性能优化相关面试题一
- Android面试题-与性能优化相关面试题二
- Android面试题-与性能优化相关面试题四
- Android面试题-与性能优化相关面试题五
- Android面试题-与性能优化相关面试题六
- android面试题-与IPC机制相关面试题
- Android面试题-与xmpp相关面试题
- Android相关面试题
- android相关面试题
- Android面试题相关
- android 面试题三
- Android面试题(三)
- Android面试题三
- android 面试题三
- Android面试题三
- Android面试题-与XMPP相关试题一
- Android面试题(三)
- 1019. 数字黑洞
- 使用maven构建 ssm项目 tomcat7插件运行报错, Invalid byte tag in constant pool: 60
- jsp:bean与el表达式笔记
- 计算机图形学(八)几何图形变换讲解与源代码
- echarts图表显示问题
- Android面试题-与性能优化相关面试题三
- 计数 i++,++i 简单的线程安全与线程非安全的代码对比
- mac登陆时出现一个 其他
- 高性能MySQL(五)—创建高性能索引(2)
- U盘插入电脑提示格式化怎么办
- Java学习:Java 中的 static 使用之静态变量
- SSBC 安装 oursql碰到的问题 mysql-config not found
- Sticky footers 粘性页脚布局
- html,css题