
性能
知行合一365
这个作者很懒,什么都没留下…
展开
-
【好】App内存优化几种情况
一、 Android的内存机制 Android的程序由Java语言编写,所以Android的内存管理与Java的内存管理相似。程序员通过new为对象分配内存,所有对象在java堆内分配空间;然而对象的释放是由垃圾回收器来完成的。C/C++中的内存机制是“谁污染,谁治理”,java的就比较人性化了,给我们请了一个专门的清洁工(GC)。 那么GC怎么能够确认某一个对象是不是转载 2014-12-15 13:42:20 · 521 阅读 · 0 评论 -
Trinea性能优化之布局优化
性能优化之布局优化http://www.trinea.cn/android/layout-performance/本文为Android性能优化的第二篇——布局优化,主要介绍使用抽象布局标签(include, viewstub, merge)、去除不必要的嵌套和View节点、减少不必要的infalte及其他Layout方面可调优点,顺带提及布局调优相关工具(hierarchy v转载 2014-12-19 20:04:29 · 437 阅读 · 0 评论 -
ListView的性能优化
在ListView的使用中,有时候还需要在里面加入按钮等控件,实现单独的操作。也就是说,这个ListView不再只是展示数据,也不仅仅是这一行要来处理用户的操作,而是里面的控件要获得用户的焦点。读者可以试试用SimpleAdapter添加一个按钮到ListView的条目中,会发现可以添加,但是却无法获得焦点,点击操作被ListView的Item所覆盖。这时候最方便的方法就是使用灵活的适配器Base转载 2014-12-11 19:48:04 · 403 阅读 · 0 评论 -
一个Context内存泄露的例子(3.0后已修正)
至少在T-Mobile G1上Android应用在堆上分配的内存大小被限制16MB以内。对于手机来说,这是个不小的内存,但是这仍然远远不能满足一些开发者的需求。但是,即使你不打算使用所有的内存空间,你也应该尽可能地少用内存,从而使得其他应用能够运行而不是被杀掉。因为Android能够在内存中保持的应用越多,那么用户切换应用的速度就会越快。作为我工作的一部分,我在做android应用开发的时候也会陷转载 2014-12-10 11:12:50 · 490 阅读 · 0 评论 -
App调试内存泄露之Context篇(下)
接着《Android学习系列(36)--App调试内存泄露之Context篇(上)》继续分析。5. AsyncTask对象 我N年前去盛大面过一次试,当时面试官极力推荐我使用AsyncTask等系统自带类去做事情,当然无可厚非。 但是AsyncTask确实需要额外注意一下。它的泄露原理和前面Handler,Thread泄露的原理差不多,它的生命周期和Activi转载 2014-12-10 13:26:19 · 424 阅读 · 0 评论 -
App调试内存泄露之Context篇(上)
Context作为最基本的上下文,承载着Activity,Service等最基本组件。当有对象引用到Activity,并不能被回收释放,必将造成大范围的对象无法被回收释放,进而造成内存泄漏。下面针对一些常用场景逐一分析。1. CallBack对象的引用 先看一段代码:1234567转载 2014-12-10 13:20:37 · 618 阅读 · 0 评论 -
Trinea性能优化之实例
Android性能调优本文主要分享自己在appstore项目中的性能调优点,包括同步改异步、缓存、Layout优化、数据库优化、算法优化、延迟执行等。 性能优化专题已完成五部分:性能优化总纲——性能问题及性能调优方式性能优化第三篇——Java(Android)代码优化性能优化第二篇——布局优化性能优化第一篇——数据库性能优化性能优化实例转载 2014-12-19 20:31:55 · 421 阅读 · 0 评论 -
Trinea性能优化之Android代码优化
性能优化之Java(Android)代码优化本文为Android性能优化的第三篇——Java(Android)代码优化。主要介绍Java代码中性能优化方式及网络优化,包括缓存、异步、延迟、数据存储、算法、JNI、逻辑等优化方式。(时间仓促,后面还会继续完善^_*) 性能优化专题已完成五部分:性能优化总纲——性能问题及性能调优方式性能优化第三篇——Java(A转载 2014-12-19 20:02:58 · 506 阅读 · 0 评论 -
GC如何知道对象没被引用(孤岛例子)
引用计数方法不好,没有一种虚拟机使用它。Java 虚拟机启动一个线程从栈和静态储存区开始,遍历所有引用,就可以找到所有还在使用中的对象。至于没有被引用的对象,或者像 3 楼说的那种“孤岛”,不会被遍历到,所以会被回收。基于这样的理论,有两种实践方法,一种方法暂停当前程序的执行,将所有找到的对象复制到另一块内存区域,没有找到的对象自然就没有复制,这种方法叫“停止-复制”,另一转载 2014-12-30 21:10:25 · 1777 阅读 · 0 评论