性能优化
zhangjundi
zjd
展开
-
使用 Eclipse Memory Analyzer 进行堆转储文件分析
对于大型 JAVA 应用程序来说,再精细的测试也难以堵住所有的漏洞,即便我们在测试阶段进行了大量卓有成效的工作,很多问题还是会在生产环境下暴露出来,并且很难在测试环境中进行重现。JVM 能够记录下问题发生时系统的部分运行状态,并将其存储在堆转储 (Heap Dump) 文件中,从而为我们分析和诊断问题提供了重要的依据。通常内存泄露分析被认为是一件很有难度的工作,一般由团队中的资深人士进行。转载 2016-07-25 16:59:04 · 896 阅读 · 0 评论 -
内存泄露导致的内存溢出
一、Android的内存机制 Android的程序由Java语言编写,所以Android的内存管理与Java的内存管理相似。程序员通过new为对象分配内存,所有对象在java堆内分配空间;然而对象的释放是由垃圾回收器来完成的。C/C++中的内存机制是“谁污染,谁治理”,java的就比较人性化了,给我们请了一个专门的清洁工(GC)。 那么GC怎么能够确认某一个对象是不是已经被废弃转载 2016-08-18 19:15:35 · 342 阅读 · 0 评论 -
android怎样加快ui的加载速度
1.减小主线程的阻塞时间 若一个操作耗时教长(超过5秒 用户无响应5秒 网络和数据库阻塞10秒 广播接收者执行超过10秒会导致ANR),我们应该将其放入后台线程中执行,只在需要修改UI界面时通知主线程进行修改。 Android已经提供了AsynTask以实现从主线程生成新的异步任务的方法。具体用法参见异步任务。2.提高Adapter和AdapterView的效率 (1)重转载 2016-08-22 13:38:47 · 1787 阅读 · 0 评论 -
蘑菇街支付金融Android单元测试实践
本文为『移动前线』群在4月23日的分享总结整理而成,转载请注明来自『移动开发前线』公众号。嘉宾介绍邹勇(网名小创)蘑菇街支付金融资深安卓开发工程师。自毕业以来一直从事Android开发工作,先后工作于创新工厂、微策略以及蘑菇街。对单元测试和TDD情有独钟。相关厂商内容通过探针技术,实现Java应用程序自我防护新Java,新未来转载 2016-08-10 20:19:51 · 1014 阅读 · 0 评论 -
Android SDK工具:使用layoutopt进行布局优化
【51CTO译文】创建好看的Android布局是个不小的挑战,当你花了数小时调整好它们适应多种设备后,你通常不想再重新调整,但笨重的嵌套布局效率往往非常低下,幸运的是,在Android SDK中有一个工具可以帮助你优化布局,以减少内存消耗,提高应用程序运行性能。 layoutoptimization优化是需要一定技巧的,性能良好的代码固然重要,但写出优秀代码的成本往往也很高,你转载 2016-08-26 10:58:22 · 343 阅读 · 0 评论 -
ViewStub用法
在开发应用程序的时候,经常会遇到这样的情况,会在运行时动态根据条件来决定显示哪个View或某个布局。那么最通常的想法就是把可能用到的View都写在上面,先把它们的可见性都设为View.GONE,然后在代码中动态的更改它的可见性。这样的做法的优点是逻辑简单而且控制起来比较灵活。但是它的缺点就是,耗费资源。虽然把View的初始可见View.GONE但是在Inflate布局的时候View仍然会被Infl转载 2016-08-26 11:10:50 · 207 阅读 · 0 评论 -
详解Dagger2
编辑推荐:稀土掘金,这是一个针对技术开发者的一个应用,你可以在掘金上获取最新最优质的技术干货,不仅仅是Android知识、前端、后端以至于产品和设计都有涉猎,想成为全栈工程师的朋友不要错过!原文链接 : Tasting Dagger 2 on Android原文作者 : Fernando Cejas译文出自 : 开发技术前线 www.devtf.cn转载 2016-08-24 13:54:28 · 747 阅读 · 0 评论 -
android开发之避免使用枚举
Java1.5中引入了枚举的语法,包括Enum,EnumSet,EnumMap等。其中Enum就是我们在C或C++中见过的枚举类型,但是Java中的枚举又比C或C++中的枚举更成熟和复杂。在Java中,枚举算是一种特殊的类,也就是class,因此它可以做很多类相关的事情,而不仅仅是定义几个枚举值。 我们在很多经典的Java书已经看到推荐使用枚举来代替int常量了,但是在Android开发转载 2017-01-22 17:46:27 · 3848 阅读 · 0 评论 -
常见的八种导致 APP 内存泄漏的问题
像 Java 这样具有垃圾回收功能的语言的好处之一,就是程序员无需手动管理内存分配。这减少了段错误(segmentation fault)导致的闪退,也减少了内存泄漏导致的堆空间膨胀,让编写的代码更加安全。然而,Java 中依然有可能发生内存泄漏。所以你的安卓 APP 依然有可能浪费了大量的内存,甚至由于内存耗尽(OOM)导致闪退。传统的内存泄漏是由忘记释放分配的内存导致的,而转载 2016-08-18 18:48:28 · 292 阅读 · 0 评论 -
Android DDMS 使用详细说明
DDMS 的全称是 Dalvik Debug Monitor Service,它为我们提供例如:为测试设备截屏、针对特定的进程查看正在运行的线程以及堆信息、Logcat、广播状态信息、模拟电话呼叫、接收SMS、虚拟地理坐标等等。一、如何启动 DDMSDDMS 工具存放在 SDK 的 tools 路径下,启动DDMS方法如下:1.直接双击ddms.bat运行;2.在Ecl转载 2016-08-02 22:07:33 · 2482 阅读 · 0 评论 -
使用MAT分析内存泄漏(一)
前言 在平时工作过程中,有时会遇到OutOfMemoryError,我们知道遇到Error一般表明程序存在着严重问题,可能是灾难性的。所以找出是什么原因造成OutOfMemoryError非常重要。现在向大家引荐Eclipse Memory Analyzer tool(MAT),来化解我们遇到的难题。 为什么用MAT 之前的观点,我认为使用实时pro转载 2016-07-25 16:59:59 · 507 阅读 · 0 评论 -
使用MAT分析内存泄漏(二)
前言在使用Memory Analyzer tool(MAT)分析内存泄漏(一)中,我介绍了内存泄漏的前因后果。在本文中,将介绍MAT如何根据heap dump分析泄漏根源。由于测试范例可能过于简单,很容易找出问题,但我期待借此举一反三。一开始不得不说说ClassLoader,本质上,它的工作就是把磁盘上的类文件读入内存,然后调用java.lang.ClassLoader.defin转载 2016-07-25 17:00:41 · 783 阅读 · 0 评论 -
Android的内存泄露测试
Android下,如何进行内存泄漏的测试,除了长时间运行的间接测试,有没有工具帮我们进行这方面的测试呢?安装 MAT和其他插件的安装非常类似,MAT 支持两种安装方式,一种是“单机版“的,也就是说用户不必安装 Eclipse IDE 环境,MAT 作为一个独立的 Eclipse RCP 应用运行;另一种是”集成版“的,也就是说 MAT 也可以作为 Eclipse IDE 的一部转载 2016-07-25 17:01:25 · 211 阅读 · 0 评论 -
解决webview内存泄露的问题
问题原因:对于webview内存泄露的问题的原因是,webview在布局中绘制的时候就会默认选择他所在的activity的context,在activity销毁的时候而,context会被webview引用这导致内存泄露,不能释放资源。 对于上面的问题一开始看只要把创建webview的context换掉换成application的context就可以了,activity就可以正常被回收调了,原创 2016-07-28 16:33:05 · 505 阅读 · 1 评论 -
Android的multidex带来的性能问题-减慢app启动速度
编辑推荐:稀土掘金,这是一个针对技术开发者的一个应用,你可以在掘金上获取最新最优质的技术干货,不仅仅是Android知识、前端、后端以至于产品和设计都有涉猎,想成为全栈工程师的朋友不要错过!英文原文:Android’s multidex slows down app startup 引言在安卓社区中,65k方法数的限制是一个被多次提及的问题。目前解决这个问题的办法就是用转载 2016-07-29 09:16:33 · 2227 阅读 · 0 评论 -
Android性能调优利器StrictMode
作为Android开发,日常的开发工作中或多或少要接触到性能问题,比如我的Android程序运行缓慢卡顿,并且常常出现ANR对话框等等问题。既然有性能问题,就需要进行性能优化。正所谓工欲善其事,必先利其器。一个好的工具,可以帮助我们发现并定位问题,进而有的放矢进行解决。本文主要介绍StrictMode 在Android 应用开发中的应用和一些问题。什么是StrictModeStri转载 2016-08-01 12:50:58 · 3948 阅读 · 0 评论 -
解决webview内存泄露的问题
import java.lang.ref.WeakReference;import java.lang.reflect.Field;import android.app.Activity;import android.content.Context;import android.content.Intent;import android.net.Uri;import android.转载 2016-08-04 18:59:17 · 975 阅读 · 0 评论 -
十大技巧优化Android App性能
无论锤子还是茄子手机的不断冒出,Android系统的手机市场占有率目前来说还是最大的,因此基于Android开发的App数量也是很庞大的。那么,如何能开发出更高性能的Android App?相信是软件开发公司以及广大程序员们头疼的一大难题。今天,就给大家提供几个提高Android App性能的技巧。AD:51CTO 网+ 第十二期沙龙:大话数据之美_如何用数据驱动用户体验转载 2016-08-05 14:36:57 · 291 阅读 · 0 评论 -
Android开发————分析Native层内存泄漏
版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]Android开发——使用DDMS分析Native层内存泄漏针对Java层的内存泄漏,Android提供了方便的内存泄漏检测工具,例如MAT、LeakCanary。但对于native层开发,要追查C/C++代码的内存泄漏,valgrind等常用工具并不适用。幸好,Google的b转载 2017-04-03 13:28:24 · 2704 阅读 · 1 评论