- 博客(81)
- 资源 (16)
- 收藏
- 关注
原创 西东运行中内存监控
系统启动systemserver.java启动DeviceStorageMonitorService.javamSystemServiceManager.startService(DeviceStorageMonitorService.class);onStart()--->mHandler.obtainMessage(MSG_CHECK).sendToTarget()-->check...
2018-04-19 11:17:22
299
转载 android 启动流程
整个Android系统的启动分为Linux Kernel的启动和Android系统的启动。Linux Kernel启动起来后,然后运行第一个用户程序,在Android中就是init程序。-------------------------------------------------以下的内容应该算是学习笔记,特地整理成文。-------------------------------
2017-05-19 14:10:29
605
转载 [Power] 如果抓取功耗问题 log
功耗问题LOG可以分以下几种情况:1、 Sleep失败或者sleep电流异常抓mobile log 或者UART4 log注意:A、抓mobile log时关闭 modem log/net logB、 抓UART log前先输入命令echo 0 3 1 1 0 >/proc/pm_flagecho 8 > /proc/sys/kernel/printk 2、
2017-03-17 15:52:59
1574
转载 功耗优化方法
功耗优化方法(2015-03-18 17:32:13)转载▼标签:android功耗高通平台分类:功耗1、底电流调试(Rock Bottom Current Optimization)底电流在手机飞行模式下调试。每个平台的底电流数据可能不一样,具体可以参考release出来的Current Consumption
2017-03-17 15:46:04
1814
转载 待机异常篇
待机异常篇待机异常篇待机异常 1: 按Power key后,连early_suspend都没进。待机异常 2: 可以进early_suspend,但进不了suspend待机异常 3: 可以进suspend,但出现:PM: Some devices failed to suspend待机异常 4: 可以进入到suspend_enter,suspend流程走完了,但很快被唤醒待机异
2017-03-17 15:43:46
982
转载 Bugreport实战篇(二)
文章Bugreport源码篇(一)从源码角度阐释了Bugreport,那么本文则是从实战角度来说说,如何看懂bugreport,对于通过bugreport获取到内容往往非常长,这里简单划分为17部分,先整体上简单说说每部分log的title信息。1. 系统build相关信息系统build信息:dumpstate: date Build: getprop ro.build.dis
2017-01-24 11:19:26
2565
转载 Android 中 LocalSocket 使用
Android中LocalSocket使用一 Socket Socket最初用在基于TCP/IP网络间进程通信中,以客户端/服务器模式进行通信。实现异步操作,共享资源集中处理,提高客户端响应能力。Tcp通信基本流程: 服务器端 客户端
2016-12-21 16:33:45
897
转载 BatteryHistorian
数据准备battery-historian工具需要使用bugreport中的Battery History 数据,我们在开始的时候需要通过以下命令来打开电池数据的获取以及重置:adb shell dumpsys batterystats --enable full-wake-historyshell dumpsys batterystats --reset执行的效果如下:
2016-12-15 15:07:26
498
转载 Memory Monitor
参考文章: Memory Monitor WalkthroughMemory Monitor能做什么?实时查看App的内存分配情况快速判断App是否由于GC操作造成卡顿快速判断App的Crash是否是因为超出了内存Memory Monitor使用准备开发者选项可用USB调试开启备注:Android Studio的Enable ADB Integration勾选(
2016-12-15 14:59:47
406
转载 Heap Viewer
参考文章:Heap Viewer Android 内存监测工具 DDMS –> Heap 使用DDMS中的内存监测工具Heap来优化内存Heap Viewer能做什么?实时查看App分配的内存大小和空闲内存大小发现Memory LeaksHeap Viewer使用条件5.0以上的系统,包括5.0开发者选项可用Heap Viewer启动可以直接在Andro
2016-12-15 14:57:45
318
转载 allocation tracker
Speed up your appAndroid Studio版的特点Allocation Tracker(AS)工具比Allocation Tracker(Eclipse)工具强大的地方是更炫酷,更清晰,但是能做的事情都是一样的。Allocation Tracker启动在内存图中点击途中标红的部分,启动追踪,再次点击就是停止追踪,随后自动生成一个alloc结尾的文件,这个
2016-12-15 14:56:13
352
转载 GPU Monitor
Testing Display Performance Speed up your appGPU Monitor能做什么?分析GPU的性能,实时查看绘制每一帧所花费的时间GPU Monitor使用准备root 手机开发者选项中的Gpu profile开关打开Android Studio 1.4+GPU Monitor启动在Android Monitor中点击GP
2016-12-15 14:53:39
1101
转载 性能之mat分析
参考文章: Android内存优化之二:MAT使用进阶 Android内存优化之一:MAT使用入门 MAT中的Bitmap图像 10 Tips for using the Eclipse Memory AnalyzerMAT使用MAT工具全称为Memory Analyzer Tool,一款详细分析Java堆内存的工具,该工具非常强大,为了使用该工具,我们需要hpro
2016-12-15 14:50:06
1432
转载 Systrace工具
Systrace Walkthrough Systrace Analyzing UI Performance with Systrace Speed up your appSystrace能做什么?计算容器的性能发现性能的瓶颈Systrace的使用准备4.1以上rootAndroid SDK Tools 20python环境Systrace启动你可以
2016-12-15 14:44:05
1805
转载 TraceView工具(Device Monitor)
TraceView工具(Device Monitor)参考文章: Traceview Walkthrough Android 编程下的 TraceView 简介及其案例实战 正确使用Android性能分析工具——TraceView Android内存使用分析和程序性能分析TraceView工具能做什么?从代码层面分析性能问题,针对每个方法来分析,比如当我们发现我
2016-12-15 14:42:29
389
转载 TraceView 介绍
转载:http://www.cnblogs.com/sunzn/p/3192231.htmlTraceView 是 Android 平台配备一个很好的性能分析的工具。它可以通过图形化的方式让我们了解我们要跟踪的程序的性能,并且能具体到 method。详细内容参考:Profiling with Traceview and dmtracedumpTraceView 简介TraceV
2016-11-18 11:50:31
401
转载 adb shell dumpsys
adb shell dumpsysAlso you can apply filters to running services:1 SurfaceFlinger2 accessibility3 account4 activity5 alarm6 appwidget7 audio8 backup9 battery10 batteryinfo
2016-11-14 16:57:26
472
转载 android之Jobscheduler运行机制详解
之前有篇文章专门介绍了JobScheduler的使用,这里再大致说下:如果想在将来达到一定条件下执行某项任务时,可以在一个实现了JobService的子类的onStartJob方法中执行这项任务,使用JobInfo的Builder方法来设定条件并和实现了JobService的子类的组件名绑定,然后调用系统服务JobScheduler的schedule方法。这样,即便在执行任务之前应用程序进程被
2016-10-31 14:52:28
7429
转载 bugreport 源码篇
一、概述通过adb命令可获取bugrepport信息,并输出到文件当前路径的bugreport.txt文件:adb bugreport > bugreport.txt对于Android系统调试分析,bugreport信息量非常之大,几乎涵盖整个系统各个层面内容,对于分析BUG是一大利器,本文先从从源码角度来分析一下Bugreport的实现原理。二、原理分析Androi
2016-10-21 10:03:44
5014
1
转载 Android中的信号强度上报与显示完整流程()
分析:在RILConstants.java中找到:int RIL_UNSOL_SIGNAL_STRENGTH = 1009;在RIL.java中找到与其相关的代码:private voidprocessUnsolicited (Parcel p) {…….case RIL_UNSOL_SIGNAL_STRENGTH: ret = responseSignalStreng
2016-10-21 09:40:43
5496
转载 PowerManagerService 核心方法详解(转载,感觉不错)
updatePowerStateLocked更新电源的状态,是PowerManagerService的核心方法,当电源状态发生改变最终都会调用到updatePowerStateLocked方法,下面分析这个方法的实现。private void updatePowerStateLocked() { if (!mSystemReady || mDirty == 0) {
2016-10-10 16:56:15
4814
转载 Battery Historian2.0 windows下安装
Battery Historian for windows环境搭建简介:Battery historian是一款通过上传bugreport文件分析用户手机中App的电池耗电情况的工具。Battery Historian 1.0 通过python脚本转换成html文件,而新版本 Battery Historian 2.0 发布了,新版本带来了很多的改进:更清晰的报告,每个应用程序的摘要,更快
2016-10-08 14:59:38
5607
转载 adb shell 用法汇总(持续更新)
adb shell环境变量相关setprop getprop watchprops(实时监控环境变量)1. ubuntu下配置环境anroid变量:在终端执行 sudo gedit /etc/profile 打开文本编辑器,在最后追加#set android environment2. 运行Eclipse,还需要配置JAVA环境变量#set java
2016-09-30 10:49:23
2703
转载 android 调试获取log
1 Android Log最近遇到一些抓log 的事情,很多来自网上达人的分享,加在一起总结一下:log文件分为实时打印的,还有状态信息的两种 实时打印的主要有:logcat main,logcat radio,logcat events,tcpdump, QXDM Log 状态信息的有:adb shell dmesg,adb shell dumpstate,adb s
2016-09-27 14:59:25
972
转载 linux 电源管理 Generic PM之Suspend功能
Linux电源管理(6)_Generic PM之Suspend功能作者:wowo 发布于:2014-8-22 21:40 分类:电源管理子系统1. 前言 Linux内核提供了三种Suspend: Freeze、Standby和STR(Suspend to RAM),在用户空间向”/sys/power/state”文件分别写入”freeze”、”standby”和”mem”,即可触发
2016-09-23 16:30:43
4439
转载 Android WIFI模块分析
一:什么是WIFIWIFI是一种无线连接技术,可用于手机、电脑、PDA等终端。WIFI技术产生的目的是改善基于IEEE802.11标准的无线网络产品之间的互通性,也就是说WIFI是基于802.11标准的,但WIFI不等同无线网络。二:Android平台下的WIFI模块简单介绍一下,WIFI模块的基本功能:1. 开关WIFI除了在WIFI设置界面可以开关WIFI,还有其他的方法可
2016-09-23 15:31:21
683
转载 debug trace 一些资料
debug方式1. 先确认一下您的系统是否使能了trace功能(默认情况下都会使能)。2. 如果使能,会存在“/sys/kernel/debug/tracing/”目录。3. echo 1 > /sys/kernel/debug/tracing/events/power/wakeup_source_activate/enable,使能wakeup source activate的t
2016-09-21 10:52:59
1935
转载 Android 性能分析工具整理汇总
Android性能分析工具整理汇总字数1852 阅读3579 评论10 喜欢54Android性能分析工具整理汇总把做Android开发以来碰到的一些不错的性能分析工具做个整理汇总...Debug GPU Overdraw类型:系统自带功能UI渲染检测功能(打开Settings,然后到 Developer Options -> Debug GPU Overdra
2016-09-21 09:40:06
621
转载 epoll机制
在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,linux/posix_types.h头文件有这样的声明:#define__FD_S
2016-09-20 10:46:01
414
转载 HTTP 协议详解
HTTP协议详解一、概念协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器。HTTP协议,即超文本传输协议(Hypertext transfer protocol)。是一种详细规定了浏览器和万维网(WWW = World Wide Web)服务器
2016-09-18 17:52:35
403
转载 log 分析wakelock
【step1-找kernel层的wakelock】 (1)先搜索从wake进入sleep的过程中打印出来的当前处于活动状态的wakelock关键字“print_active_wakeup_sources”,类似于下面这样的log: [print_active_wakeup_sources]: activity: PowerManage
2016-09-13 14:07:19
1052
转载 PMS 分析
深入分析PowerManagerService· 深入分析BatteryService和BatteryStatsService本章所涉及的源代码文件名及位置:· PowerManagerService.Javaframeworks/base/services/java/com/android/server/PowerManagerService.java· com_and
2016-09-13 13:35:40
2699
转载 android key 事件派发
刚接触Android开发的时候,对touch、key事件的处理总是一知半解,一会是Activity里的方法,一会是各种View中的,自己始终不清楚到底哪个在先哪个在后,总之对整个处理流程没能很好的把握。每次写这部分代码的时候都有些心虚,因为我不是很清楚什么时候、以什么样的顺序被调用,大都是打下log看看,没问题就算ok了。但随着时间流逝,这种感觉一直折磨着我。期间也在网上搜索了相关资料,但总感觉不
2016-09-12 11:18:22
2657
转载 TOUCH 事件派发流程
Touch事件分发中只有两个主角:ViewGroup和View。Activity的Touch事件事实上是调用它内部的ViewGroup的Touch事件,可以直接当成ViewGroup处理。View在ViewGroup内,ViewGroup也可以在其他ViewGroup内,这时候把内部的ViewGroup当成View来分析。ViewGroup的相关事件有三个:onInterceptTouch
2016-09-12 11:10:19
337
转载 Java 中 强引用、软引用、弱引用、虚引用区别
Java中弱引用、软引用、虚引用及强引用的区别2014/04/16 | 分类: 基础技术 | 2 条评论 | 标签: Java,reference分享到:40本文由 ImportNew - 人晓 翻译自javarevisited。欢迎加入翻译小组。转载请见文末要求。很早Java API就添加了弱引用(WeakReference)和软引用(Soft
2016-09-08 15:34:30
329
转载 深入理解audio 系统
本章主要内容· 详细分析AudioTrack。· 详细分析AudioFlinger。· 详细分析AudioPolicyService。本章涉及的源代码文件名及位置下面是本章分析的源码文件名及其位置。· AudioTrack.javaframework/base/media/java/com/android/media/AudioTrack.java· android_media_track.cpp
2016-09-07 16:04:35
5886
原创 android package相关的一些权限策略随笔记
系统启动时,会实例化ActivityManagerService.java, 构造函数中会实例化AppOpsServicemAppOpsService = new AppOpsService(new File(systemDir, "appops.xml"), mHandler);systemDir /data/system所有的策略都保存在appops.xml文件中,system
2016-09-07 11:16:10
456
转载 常用ADB 命令
常用的ADB命令 1. 显示系统中全部Android平台: android list targets 2. 显示系统中全部AVD(模拟器): android list avd 3. 创建AVD(模拟器): android create avd --name 名称 --target 平台编号 4. 启动模拟器
2016-09-02 10:02:18
2192
转载 android6.0系统Healthd详解
概述Healthd是android4.4之后提出来的一种中介模型,该模型向下监听来自底层的电池事件,向上传递电池数据信息给Framework层的BatteryService用以计算电池电量相关状态信息,BatteryServcie通过传递来的数据来计算电池电量显示,剩余电量,电量级别等信息,如果收到过温报警或者严重低电报警等信息,系统会直接关机,保护硬件。 主模块处理流程Healt
2016-08-31 16:53:01
3532
自定义Provider demo
2016-06-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人