性能优化
lostinai
这个作者很懒,什么都没留下…
展开
-
Java编程中“为了性能”尽量要做到的一些地方
最近的机器内存又爆满了,除了新增机器内存外,还应该好好review一下我们的代码,有很多代码编写过于随意化,这些不好的习惯或对程序语言的不了解是应该好好打压打压了。 下面是参考网络资源总结的一些在Java编程中尽可能要做到的一些地方。1. 尽量在合适的场合使用单例使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于转载 2012-07-24 22:47:57 · 569 阅读 · 0 评论 -
Android学习之——优化篇(1)
一、优化的品质 1.简练;2.可读性强;3.模块化;4.层次性;5.设计良好;6.高效;7.优雅;8.清晰。二、常见的编程规范 1. 基本要求 · 结构清晰,简单易懂,单个函数不超过100行;目标明确,代码精简 · 尽量使用标准库函数和公共函数 · 不随意定义全局变量,尽量使用局部变量转载 2014-11-01 22:09:49 · 491 阅读 · 0 评论 -
Android学习之——优化篇(2)
一、高级优化 上篇主要从初级优化的方式,本篇主要将从程序运行性能的角度出发,分析各种常用方案的不足,并给出对象池技术、基础数据类型替换法、屏蔽函数计算三种能够节省资源开销和处理器时间的优化策略。 目前普遍采用的优化方案有: · 优化循环,通过重新组织重复的子表达式来提高循环体的运行性能 · 减少使用对象的数量来提高运行性能 ·转载 2014-11-01 22:11:36 · 589 阅读 · 0 评论 -
Android性能优化总结
前言性能优化本身是一个很大的主题,涵盖程序的方方面面,任何不慎的操作,都有可能对性能造成比较大的影响,要知道程序的性能是可以累加的,多处的性能低下,会影响整体的性能,其后果可能也是多方面的,本文总结了目前工作中,所需要知道的大部分性能优化点,一部分个人总结,一部分来自于互联网。但整体上,都是提纲性的,并没有列出具体的实例,因为写这方面主题的达人实在太多了,所以,我得站在巨人的肩膀上,具体细转载 2014-12-07 20:52:20 · 531 阅读 · 0 评论 -
Java内存访问重排序的研究
http://tech.meituan.com/java-memory-reordering.html什么是重排序请先看这样一段代码1public class PossibleReordering {static int x = 0, y = 0;static int a = 0, b = 0;public static void main(String[] args)转载 2015-01-15 13:26:31 · 818 阅读 · 0 评论 -
代码性能优化小技巧
这篇文章主要是介绍了一些小细节的优化技巧,当这些小技巧综合使用起来的时候,对于整个App的性能提升还是有作用的,只是不能较大幅度的提升性能而已。选择合适的算法与数据结构才应该是你首要考虑的因素,在这篇文章中不会涉及这方面。你应该使用这篇文章中的小技巧作为平时写代码的习惯,这样能够提升代码的效率。通常来说,高效的代码需要满足下面两个规则:不要做冗余的动作如果能避免,尽量不要分配内存代转载 2015-02-25 12:50:47 · 535 阅读 · 0 评论 -
Android应用开发中如何使用隐藏的API
Android应用中有时为了实现某些特殊的功能或效果,往往需要使用一些谷歌隐藏的API(加有@hide标记的public类、方法或常量),例如PolicyManager。 使用Android隐藏的API主要有两种办法:1.利用Java反射机制,使用反射的方法得到隐藏API;2.使用源码编译时生成的全编译过的classes.jar包。 举例说明,下面的代码如果直接转载 2015-05-26 18:01:08 · 1185 阅读 · 0 评论 -
UI的布局优化
FrameLayou和布局优化FrameLayout 先来看官方文档的定义:FrameLayout是最简单的一个布局对象。它被定制为你屏幕上的一个空白备用区域,之后你可以在其中填充一个单一对象 — 比如,一张你要发布的图片。所有的子元素将会固定在屏幕的左上角;你不能为FrameLayout中的一个子元素指定一个位置。后一个子元素将会直接在前一个子元素之上进行覆盖填充,把它们部份或全转载 2015-09-23 17:48:58 · 442 阅读 · 0 评论 -
Java 如何有效地避免OOM:善于利用软引用和弱引用
想必很多朋友对OOM(OutOfMemory)这个错误不会陌生,而当遇到这种错误如何有效地解决这个问题呢?今天我们就来说一下如何利用软引用和弱引用来有效地解决程序中出现的OOM问题。下面是本文的目录大纲: 一.了解 强引用、软引用、弱引用、虚引用的概念 二.进一步理解软引用和弱引用 三.如何利用软引用和弱引用解决OOM问题 如果有不正之处,希望谅解和批评指正,不胜感激。转载 2015-11-24 13:13:20 · 794 阅读 · 0 评论 -
35 个 Java 代码性能优化总结
前言代码优化,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了。代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨;但是如果有足够的时间开发、维护代码,这时候就必须考虑每转载 2015-12-28 09:21:38 · 2339 阅读 · 0 评论 -
Android内存优化之OOM
Android的内存优化是性能优化中很重要的一部分,而避免OOM又是内存优化中比较核心的一点。这是一篇关于内存优化中如何避免OOM的总结性概要文章,内容大多都是和OOM有关的实践总结概要。理解错误或是偏差的地方,还请多包涵指正,谢谢!(一)Android的内存管理机制Google在Android的官网上有这样一篇文章,初步介绍了Android是如何管理应用的进程与内存分配:http转载 2015-12-18 12:46:05 · 967 阅读 · 0 评论 -
ANDROID内存优化(大汇总——中)
转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持!写在最前:本文的思路主要借鉴了2014年AnDevCon开发者大会的一个演讲PPT,加上把网上搜集的各种内存零散知识点进行汇总、挑选、简化后整理而成。所以我将本文定义为一个工具类的文章,如果你在ANDROID开发中遇到关于内存问题,或者马上要参加面试,或者就是单纯转载 2014-09-14 15:29:31 · 704 阅读 · 0 评论 -
ANDROID内存优化(大汇总——全)
转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持!写在最前:本文的思路主要借鉴了2014年AnDevCon开发者大会的一个演讲PPT,加上把网上搜集的各种内存零散知识点进行汇总、挑选、简化后整理而成。所以我将本文定义为一个工具类的文章,如果你在ANDROID开发中遇到关于内存问题,或者马上要参加面转载 2014-09-13 09:47:59 · 561 阅读 · 0 评论 -
java垃圾回收
参考文献:http://blog.csdn.net/bocaicbl/article/details/5319915Java深度历险(四)——Java垃圾回收机制与引用类型JVM概念之Java对象的大小与引用类型1.垃圾收集算法的核心思想 Java语言建立了垃圾收集机制,用以跟踪正在使用的对象和发现并回收不再使用(引用)的对象。该机制可以有效防范动态内存分配中可能发生的两个危转载 2012-08-18 21:11:03 · 580 阅读 · 0 评论 -
android,内存优化详解
一、 Android的内存机制 Android的程序由Java语言编写,所以Android的内存管理与Java的内存管理相似。程序员通过new为对象分配内存,所有对象在java堆内分配空间;然而对象的释放是由垃圾回收器来完成的。C/C++中的内存机制是“谁污染,谁治理”,java的就比较人性化了,给我们请了一个专门的清洁工(GC)。 那么GC怎么能够确认某一个对象是不是已经被废转载 2013-06-07 20:57:47 · 546 阅读 · 0 评论 -
System.gc()
1.垃圾收集算法的核心思想 Java语言建立了垃圾收集机制,用以跟踪正在使用的对象和发现并回收不再使用(引用)的对象。该机制可以有效防范动态内存分配中可能发生的两个危险:因内存垃圾过多而引发的内存耗尽,以及不恰当的内存释放所造成的内存非法引用。 垃圾收集算法的核心思想是:对虚拟机可用内存空间,即堆空间中的对象进行识别,如果对象正在被引用,那么称其为存活对象,反之,如果对象不再被引用,则转载 2014-03-02 15:33:16 · 778 阅读 · 1 评论 -
Android开发优化之——从代码角度进行优化
通常我们写程序,都是在项目计划的压力下完成的,此时完成的代码可以完成具体业务逻辑,但是性能不一定是最优化的。一般来说,优秀的程序员在写完代码之后都会不断的对代码进行重构。重构的好处有很多,其中一点,就是对代码进行优化,提高软件的性能。下面我们就从几个方面来了解Android开发过程中的代码优化。 1)静态变量引起内存泄露在代码优化的过程中,我们需要对代码中的静态变量特别留意。静态变量是转载 2014-03-06 12:52:02 · 573 阅读 · 0 评论 -
Android 数据库优化
本文为性能优化的第一篇——数据库性能优化,原理适用于大部分数据库包括Sqlite、Mysql、Oracle、Sql server,详细介绍了索引(优缺点、分类、场景、规则)和事务,最后介绍了部分单独针对Sqlite的优化。1、索引简单的说,索引就像书本的目录,目录可以快速找到所在页数,数据库中索引可以帮助快速找到数据,而不用全表扫描,合适的索引可以大大提高数据库查询的效率。转载 2014-04-14 22:39:09 · 657 阅读 · 0 评论 -
Android 代码优化
主要介绍Java代码中性能优化方式及网络优化,包括缓存、异步、延迟、数据存储、算法、JNI、逻辑等优化方式。1、降低执行时间这部分包括:缓存、数据存储优化、算法优化、JNI、逻辑优化、需求优化几种优化方式。(1). 缓存缓存主要包括对象缓存、IO缓存、网络缓存、DB缓存,对象缓存能减少内存的分配,IO缓存减少磁盘的读写次数,网络缓存减少网络传输,DB缓存较少Databa转载 2014-04-14 22:45:21 · 617 阅读 · 0 评论 -
Android性能优化总结
前言性能优化本身是一个很大的主题,涵盖程序的方方面面,任何不慎的操作,都有可能对性能造成比较大的影响,要知道程序的性能是可以累加的,多处的性能低下,会影响整体的性能,其后果可能也是多方面的,本文总结了目前工作中,所需要知道的大部分性能优化点,一部分个人总结,一部分来自于互联网。但整体上,都是提纲性的,并没有列出具体的实例,因为写这方面主题的达人实在太多了,所以,我得站在巨人的肩膀上,具体细转载 2014-05-05 13:35:43 · 583 阅读 · 0 评论 -
java的垃圾回收机制
1. 垃圾回收的意义 在C++中,对象所占的内存在程序结束运行之前一直被占用,在明确释放之前不能分配给其它对象;而在Java中,当没有对象引用指向原先分配给某个对象的内存时,该内存便成为垃圾。JVM的一个系统级线程会自动释放该内存块。垃圾回收意味着程序不再需要的对象是"无用信息",这些信息将被丢弃。当一个对象不再被引用的时候,内存回收它占领的空间,以便空间被后来的新对象使用。事实上,除了释放转载 2014-07-24 11:50:38 · 466 阅读 · 0 评论 -
Android内存泄漏分析及调试
尊重原创作者,转载请注明出处:http://blog.csdn.net/gemmem/article/details/13017999此文承接我的另一篇文章:Android进程的内存管理分析 首先了解一下dalvik的Garbage Collection:如上图所示,GC会选择一些它了解还存活的对象作为内存遍历的根节点(GC Roots),比方说thread转载 2014-07-24 16:54:28 · 542 阅读 · 0 评论 -
Android性能优化
随着技术的发展,智能手机硬件配置越来越高,可是它和现在的PC相比,其运算能力,续航能力,存储空间等都还是受到很大的限制,同时用户对手机的体验要求远远高于PC的桌面应用程序。以上理由,足以需要开发人员更加专心去实现和优化你的代码了。选择合适的算法和数据结构永远是开发人员最先应该考虑的事情。同时,我们应该时刻牢记,写出高效代码的两条基本的原则:(1)不要做不必要的事;(2)不要分配不必要的内存。转载 2014-09-19 20:47:43 · 660 阅读 · 0 评论 -
好客户端是怎样炼成的
http://blog.csdn.net/a345017062/article/details/45538187本文主要从开发的角度讲一下一个客户端的开发主要涉及的方方面面,让想了解App开发的同学做个快速入门。一、开发前准备这个主要是产品的设计阶段。1、产品确定产品的功能List,主要操作逻辑,产品满足的需求目标,以及过程。输出转载 2016-03-03 13:33:25 · 599 阅读 · 0 评论