研究了Mat和Heap的分析方法之后,尝试用其他的方式来分析下,Androiddumpsys 的方式来看下结果。如何得出数据的操作就不说了,网上太多了,只看数据来进行分析。如图1,启动的时候的情况执行三次怀疑有泄露的功能之后的数据再执行三次再执行三次 数据分析:Native 数据代表的是JNI层的数据,从mallinfo usmblks 获得DalviK 数据代表的是Java层的数据,从Runtime Totalmemory获得 Size 代表是能获得的最大的数据Alloc代表的是目前在...
最近的项目中,内存一直再增长,但是不知道是什么问题,导致内存溢出,在网上看到了这么一篇关于内存分析与管理的文章,解决了部分问题,感觉这篇文 章还不错,就转帖到我的blog上了,希望对大家有所帮助。如果哪里有不好的地方,给留下言,然后我们大家继续完善内存泄露的问题,对大家都会有所帮助 的,呵呵一、概述 1
二、Android(Java)中常见的容易引起内存泄漏的不良代码 1
(一) 查询数据库没有关闭游标 2
(二) 构造Adapter时,...
一、使用场景 在一个主界面(主Activity)通过意图跳转至多个不同子Activity上去,当子模块的代码执行完毕后再次返回主页面,将子activity中得到的数据显示在主界面/完成的数据交给主Activity处理。这种带数据的意图跳转需要使用activity的onActivityResult()方法。(1)startActivityForResult(Intent intent, int requestCode); 第一个参数:一个Intent对象,用于携带将跳转至下一个界面中使用的数据,使用putExtra(A,B)方法...
An integer overflow in Android media could be exploited to get media_server permission(CVE-2015-1530)Integer overflow leading to heap corruption while unflattening GraphicBuffer In Android(CVE-2015-1474)原文:http://www.cnblogs.com/jiayy/p/4444768.html
目录(?)[-]Debug视图DDMS视图查看应用运行状态进入debug状态HPROFThread信息Method信息Stop截图UI层次架构信息其它的Tab中提供的功能 我们将基于Eclipse了解如何对应用进行调试,即debug。Android插件提供的DDMS可以给予很多帮助,包括视图(那个设备被连接),模拟器控制(发送电话呼叫,SMS短信,GPS信息),文件浏览器(查看/传输设备上的文件),thread,heap和allocation跟踪器。在一个真实设备调测应用,除了将设备设置为USB...
原文地址:http://blog.sina.com.cn/s/blog_68494364010116gk.html在Android的客户端编程中(特别是SNS
类型的客户端),经常需要实现注册功能Activity,要用户输入用户名,密码,邮箱,照片后注册。但这时就有一个问题,在HTML中用form表单就
能实现如上的注册表单,需要的信息会自动封装为完整的HTTP协议,但在Android中如何把这些参数和需要上传的文件封装为HTTP协议呢?我们可以先做个试验,看一下form表单到底封装了什么样的...
将数据打包,跨进程传输(通过Binder)。看看这货究竟是啥玩意:Parcel.java :public final class Parcel {private static final boolean DEBUG_RECYCLE = false;private static final String TAG = "Parcel";@SuppressWarnings({"UnusedDeclaration"})private int mNativePtr; // used by native code,非static /*** Flag indicating if {@link #mNativePtr} was allocated by this object,* indicating that we‘re responsibl...
作为一名Android开发人员,我们都知道一个View从无到有,会经历3个阶段:1. measure/测量阶段,也就是确定某个view大小的过程;2. layout/布局阶段,也就是确定其左上右下坐标的过程;3. draw/绘制阶段,也就是按照前面2步计算的结果,将view绘制在屏幕相应的位置上;今天,我带领大家来看看View系统的measure过程。到现在相信大部分人都知道measure是从ViewRootImpl.measureHierarchy方法开始的,但归根结底是从performTraversals...
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/44014941,本文出自:【张鸿洋的博客】本篇博客是我加入Android 开源项目源码解析分析的一篇文章,初次加入,所以选了个比较简单的库,如果你曾经看过Android 快速开发系列 打造万能的ListView GridView 适配器对本篇博客就不会太陌生, base-adapter-helper就是完成类似万能适配器的功能,当然了它本身不支持多种Item布局的情况,我们在下文会分析给出原因以及...
一些需求需要获取运营商和网络类型,下面对运营商和网络类型做分析。先抛出一些废话的定义:GSM:全球移动通讯系统Global System of Mobile communication就是众所周知的GSM,是当前应用最为广泛的移动电话标准。CDMA:码分多址(CDMA)是在数字技术的分支--扩频通信技术上发展起来的一种崭新而成熟的无线通信技术。可见,这两者是技术标准,和网络类型及制式无关。进入正题。1.获取话机类型这个可以通过方法TelephonyManager#getPho...
一、软件调研运行平台:Android 4.4.4必应版本:5.2.21、bug发现1.1bug标题:单词挑战无法加载和刷新bug详细描述:学习界面中的单词挑战模块,点击后没有任何反映,并且点击刷新也一直显示“加载失败,请稍候重试”bug严重程度:一般bug优先级:重要不紧急bug类型:内容相关 2、采访软件用户了解软件用户背景:北航计算机学院大三学生学英语的目的:准备出国的相关语言考试用户使用软件的照片:数据量:单词数据量充足,能够满足使...
在前文中,我们知道,如果需要生成补丁.patch文件需要借助apkpatch ,在本章节我们分析下该工具的内部原理。 apkpatch 是一个jar包,并没有开源出来,但是我们可以用 JD-G UI 或者 procyon 来看下它的 源码 ,版本1.0.3。重要:只提取出了 classes.dex 这个文件,所以源生工具并 不支持multidex ,如果使用了 multidex 方案,并且修复的类不在同一个 dex 文件中,那么补丁就不会生效。所以这里并不像作者在issue中提到的支持 multid...
http://blog.csdn.net/column/details/androidcore.html http://simon-fu.vicp.cc/?p=999 http://www.uml.org.cn/mobiledev/20110928.asp http://www.csdn.net/article/2011-02-09/291511原文:http://www.cnblogs.com/daishuguang/p/3567539.html
框架地址
https://github.com/yangfuhai/ASimpleCache 此框架作者为大名鼎鼎的afinal作者官方简介:ASimpleCache 是一个为android制定的 轻量级的 开源缓存框架。轻量到只有一个java文件(由十几个类精简而来)。(有个问题是作者所说的自动失效,其实是在获取数据时判断存入缓存的数据是否过期,如果过期,则删除数据缓存,返回null。当然,如果真正的自动删除,应该只能开启服务,不断判断是否过期来删除吧,也没有必要)-----...
一款优秀的Android应用,不仅要有完善的功能,也要有良好的体验,而性能是影响体验的一个重要因素。内存泄露是Android开发中常见的性能问题。这篇文章,通过我们曾经遇到的一个真实的案例,来讲述一个内存泄露问题,从发现到分析定位,再到最终解决的全过程。 这里把整个过程分为四个阶段: 第一阶段,现场勘查,分析Bug现象,找出有用线索; 第二阶段,初步推断,根据之前的线索,推断可能导致Bug的原因,并且进一步验证推断是否...