JackPeng

Keep on going never give up

性能工具Traceview

Traceview 性能分析功能,首推Systrace,建议看看另一篇文章性能工具Systrace,关于Trracview就简单地讲一下。 代码实现: Debug.startMethodTracing("demo"); Debug.stopMethodTracing(); 视图: 参数说明: Name: 该线程运行过程中所调用的函数名 Incl Cpu Time:...

性能工具Systrace

无论是系统开发者,还是应用开发者都应该掌握systrace这一神技。 一、概述 保证系统流畅度,也就是保证系统能连续不间断地提供每秒60帧的运行状态。当出现掉帧时(也可称为Jank),需要知道当前整个系统所处的状态,systrace便是最佳的选择,它能手机检测android系统各个组件随着时间的运行状态,并能提示该如何有效地修复问题,接下来说说systrace如何使用以及如何解读...

Java线程池分析

Android是基于Java开发的平台,本文java线程池也适用于Android。 一、概述 在执行一个异步任务或并发任务时,往往是通过直接new Thread()方法来创建新的线程,这样做弊端较多,更好的解决方案是合理地利用线程池,线程池的优势很明显,如下: 降低系统资源消耗,通过重用已存在的线程,降低线程创建和销毁造成的消耗; 提高系统响应速度,当有任务到达时,无...

Android耗电统计算法

基于Android 6.0的源码剖析 一、 概述 Android系统中的耗电统计分为软件排行榜和硬件排行榜,软件排序榜是统计每个App的耗电总量的排行榜,硬件排行榜则是统计主要硬件的耗电总量的排行榜。 涉及耗电统计相关的核心类: /framework/base/core/res/res/xml/power_profile.xml /framework/base/core/ja...

Jvm内存模型

java是在java虚拟机上运行,一般地大家讲到的Java内存其实就是Jvm内存 一、内存模型 Java内存模型,往往是指Java程序在运行时内存的模型,而Java代码是运行在Java虚拟机之上的,由Java虚拟机通过解释执行(解释器)或编译执行(即时编译器)来完成,故Java内存模型,也就是指Java虚拟机的运行时内存模型。 作为Java开发人员来说,并不需要像C/C++开发...

wait、notify、sleep、interrupt对比分析

对比分析Java中的各个线程相关的wait()、notify()、sleep()、interrupt()方法 方法简述 Thread类 sleep:暂停当前正在执行的线程;(类方法) yield:暂停当前正在执行的线程,并执行其他线程;(类方法) join:等待该线程终止; interrupt:中断该线程,当线程调用wait(),sleep(),join()或...

Android内存分析命令

一、概述 1.1 内存指标概念 Item 全称 含义 等价 USS Unique Set Size 物理内存 进程独占的内存 PSS Proportional Set Size 物理内存 ...

Android消息机制3-Handler(实战)

本文基于Android 6.0的源代码,来分析Handler的用法 相关源码 framework/base/core/java/andorid/os/HandlerThread.java 一、HandlerThread Android消息机制1-Handler(Java层) Android消息机制2-Handler(native篇) 这两篇文章已经讲解了消息机制,那么对于...

Android消息机制2-Handler(Native层)

本文基于Android 6.0的源代码,来分析native层的消息处理机制 相关源码 framework/base/core/java/andorid/os/MessageQueue.java framework/base/core/jni/android_os_MessageQueue.h framework/base/core/jni/android_os_MessageQ...

Android消息机制1-Handler(Java层)

本文基于Android 6.0的源代码,来分析Java层的handler消息处理机制 相关源码 framework/base/core/java/andorid/os/Handler.java framework/base/core/java/andorid/os/Looper.java framework/base/core/java/andorid/os/Message.ja...