Android应用开发揭秘之优化技术
2013-06-28
第15章 优化技术
不管用什么语言进行开发,所有的优秀代码都会展示出共有的经典品质:
简练,可读性强,模块化,层次性,设计良好,高效,优雅,清晰等。
Java程序员能够依据Java编程规范养成良好的编程习惯,是编写良好Java程序的先决条件。
从一开始就写干净的代码,可以在程序开发过程中以及程序维护阶段不断受益。
1. 基本要求
2. 可读性要求
3. 结构化要求
4. 正确性与容错性要求
5. 可重用性要求
有些问题可能在多个模块中都出现(比如,日志记录、权限检查和事务管理),为了记录每个方法进入和离开时的信息,你不得不在每个方法中添加log等信息。将这些解决问题的功能点散落在多个模块中会使冗余增大,并且当多个功能点出现在一个模块中时,代码会变得很难维护。因此,AOP(Aspect Oriented Programming ,面向切面编程)应运而生。如果说OOP(Object Oriented Programming ,面向对象编程)关注的是一个类的垂直结构,那么AOP就是从水平角度来看待问题的。
动态代理类可以在运行时实现若干接口,每一个动态代理类都有一个Invocation Handler对象与之对应,这个对象实现了InvocationHandler接口,通过动态代理的接口对动态代理对象的方法调用会转而调用Invocation Handler对象的invoke方法,通过动态代理实例,方法对象和参数对象可以执行调用并返回结果。
性能测试主要包括以下几个方面:
1. 计算性能:执行一段代码所用的时间。
程序实现:http://www.cnblogs.com/fengzhblog/p/3161822.html
2. 内存消耗:程序运行所占用的内存大小。
程序实现:http://www.cnblogs.com/fengzhblog/p/3162370.html
3. 启动时间:程序启动到程序正常运行的时间。
4. 可伸缩性:应用程序如何应对增长的流量。
5. 用户察觉性能:不是程序实际运行有多快,而是用户感觉程序运行有多快。
Android应用开发揭秘之优化技术的更多相关文章
- android webview开发问题及优化汇总
我们在native与网页相结合开发的过程中,难免会遇到关于WebView一些共通的问题.就我目前开发过程中遇到的问题以及最后得到的优化方案都将在这里列举出来.有些是老生常谈,有些则是个人摸索得出解决方 ...
- 浅谈Android样式开发之布局优化
引言 今天我们来谈一下Android中布局优化常用的一些手段.官方给出了3种优化方案,分别是</include>.</viewstub>.</merge>标签,下面 ...
- 关于 Android 平台开发相关的有哪些推荐书籍?
转自:http://www.zhihu.com/question/19579609 作者:Shan Huang 链接:http://www.zhihu.com/question/19579609/an ...
- 转——Android应用开发性能优化完全分析
[工匠若水 http://blog.csdn.net/yanbober 转载请注明出处.] 1 背景 其实有点不想写这篇文章的,但是又想写,有些矛盾.不想写的原因是随便上网一搜一堆关于性能的建议,感觉 ...
- Android 应用开发性能优化完全分析
1 背景 其实有点不想写这篇文章的,但是又想写,有些矛盾.不想写的原因是随便上网一搜一堆关于性能的建议,感觉大家你一总结.我一总结的都说到了很多优化注意事项,但是看过这些文章后大多数存在一个问题就是只 ...
- 【转】Android应用开发性能优化完全分析
http://blog.csdn.net/yanbober/article/details/48394201 1 背景 其实有点不想写这篇文章的,但是又想写,有些矛盾.不想写的原因是随便上网一搜一堆关 ...
- Android应用开发性能优化完全分析
1 背景 其实有点不想写这篇文章的,但是又想写,有些矛盾.不想写的原因是随便上网一搜一堆关于性能的建议,感觉大家你一总结.我一总结的都说到了很多优化注意事项,但是看过这些文章后大多数存在一个问题就是只 ...
- 转:Android应用开发性能优化完全分析
转自:http://blog.csdn.net/yanbober/article/details/48394201 1 背景 其实有点不想写这篇文章的,但是又想写,有些矛盾.不想写的原因是随便上网一搜 ...
- [阿里Hao]Android无线开发的几种经常使用技术
本文由阿里巴巴移动安全client.YunOS资深project师Hao(嵌入式企鹅圈原创团队成员)撰写,是Hao在嵌入式企鹅圈发表的第一篇原创文章.对Android无线开发的几种经常使用技术进行综述 ...
随机推荐
- Centos7 下mysql大小写敏感问题
在Centos7 下mysql大小写敏感问题,会导致程序运行时找不到对应的表. 解决办法: 第一步:编辑/etc/my.cnf文件,在[mysqld]节下 添加 lower_case_table_na ...
- 常用SQL Server规范集锦及优化
原文地址:http://www.cnblogs.com/liyunhua/p/4526195.html
- Cocoapods报错Unable to satisfy the following requirements
很多时候我们都会去gitHub上down别人的源码去研究,如果别人的项目用pod集成了,当我们下载好后不外乎cd到项目根目录pod install一下,集成项目所需的库类.今天在我pod instal ...
- 吐血推荐250部必看电影下载 IMDB TOP 250 download
中文名: IMDB Top 250合辑 TLF-MiniSD收藏版英文名: IMDB Top 250 TLF-MiniSD Collection版本: (更新至TOP119)[MiniSD]发行日期: ...
- GNU 是什么?
https://www.gnu.org/ GNU 是什么? GNU is a Unix-like operating system that is free software—it respects ...
- .net程序保护方式大观
.net软件保护方式大观 最近调试一个运行于.net 2.0下的软件,发现该软件使用的保护方式很具有代表性,基本囊括了现在.net下的所有保护措施.实践证明,这些保护措施就像全真七子,单打独斗功力差了 ...
- cocos2d-x 环境搭建
刚搬到博客园,第一次在这写博.有点小激动啊~~ 闲话不多说,这次想做一个专题,针对最近比较流行的手游开发引擎cocos2d-x,希望大家不吝赐教~ 本节主要针对环境搭建方面进行 ...
- jenkins中“Poll SCM”和“Build periodically”的区别
Poll SCM:定时检查源码变更(根据SCM软件的版本号),如果有更新就checkout最新code下来,然后执行构建动作.我的配置如下: */5 * * * * (每5分钟检查一次源码变化) B ...
- 未能加载文件或程序集“Antlr3.Runtime”或它的一个依赖项的解决办法
一.问题症状 未能加载文件或程序集“Antlr3.Runtime”或它的一个依赖项.参数错误. 二.问题起因和经过 今天我在虚拟机下做开发,asp.net mvc4开发测试微信接口,一不小心虚拟机 ...
- iOS:视图切换的第一种方式:模态窗口
一.UIModalController:模态窗口(一个控制器模态出另一个控制器的模态窗口) 当我们在view controller A中模态显示view controller B的时候,A就充当pre ...