【Android程序运行分析——中等复杂程度的NTAG I2C Demo为例】教程文章相关的互联网学习教程文章

Android程序backtrace分析方法

如何分析Android程序的backtrace最近碰到Android apk crash的问题,单从log很难定位。从tombstone里面得到下面的backtrace。*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***Build fingerprint: ‘Android/msm8996/msm8996:7.1.2/N2G47H/20180921.193127:userdebug/test-keys‘Revision: ‘0‘ABI: ‘arm64‘pid: 2848, tid: 3158, name: Thread-5819 >>> com.company.package <<<signal 11 (SIGSEGV), code 1 (...

android-------Android Studio使用MAT分析工具遇到的错误【图】

今天主要介绍一下我使用MAT工具分析文件时遇到的一个错误Error opening heap dump ‘a.hprof‘. Check the error log for further details.Error opening heap dump ‘a.hprof‘. Check the error log for further details.Unknown HPROF Version (JAVA PROFILE 1.0.3) (java.io.IOException)Unknown HPROF Version (JAVA PROFILE 1.0.3) 原因是: android的虚拟机导出的内存文件hprof文件格式与标准的 java hprof文件格式标准不一样...

android_launcher的源码详细分析

转载请注明出处:http://blog.csdn.net/fzh0803/archive/2011/03/26/6279995.aspx去年做了launcher相关的工作,看了很长时间。很多人都在修改launcher,但还没有详细的文档,把自己积累的东西分享出来,大家一起积累。这份源码是基于2.1的launcher2,以后版本虽有变化,但大概的原理一直还是保留了。一、主要文件和类1.Launcher.java:launcher中主要的activity。2.DragLayer.java:launcher layout的rootview。DragLayer实际上也是一...

Fruit Ninja(水果忍者)游戏源代码下载、分析(上)---可运行Android,Ios,Window,Mac,Html5平台【图】

背景: 本来打算下一个游戏是涂鸦跳跃的,因为图片资源没准备好,暂时往后推迟。刚好笔者手头上有部分水果忍者的游戏素材,于是上周末花了一些时间把水果忍者实现了;以前读大学的时候这款游戏就风靡大街小巷,记得当时同学间也比赛谁得的分数高,乐趣无穷;笔者在那会还没学过编程,很难理解切西瓜是怎么做出来,现在此一时彼一时了。 因为素材有限,实现的效果可能和原版有差距,例外很多童鞋反映flappy,popstar和原版不同...

Android4.0窗口机制和创建过程分析

一 前言在谈到这个话题的时候,脑海里面千头万绪,因为它涉及到了方方面面的知识… 比如Activity管理,窗口添加,Token权限验证等等…既然这么复杂,那么我们就复杂的问题简单化,可以分成下面几个步骤进行讲解。1. Android里面窗口这个概念的分析。2. Android里面窗口的类型3. Android窗口功能相关的token值4. Android里面Activity窗口添加流程分析5. Dialog窗口的添加流程分析6. Toast窗口的流程分析二 Andr...

关于dialog引起的 java.lang.IllegalArgumentException: View=com.android.internal.policy.impl.PhoneWindow$DecorView not attached to window manager 错误的分析【代码】

在跑Monkey测试的时候出现了一个比较特别的问题,先来看看Log: 1// CRASH: com.meizu.media.painter (pid 12491)2 3// Short Msg: java.lang.IllegalArgumentException4 5// Long Msg: java.lang.IllegalArgumentException: View=com.android.internal.policy.impl.PhoneWindow$DecorView{21dd6762 V.ED.... R......D 0,0-538,105} not attached to window manager6 7// Build Label: ***8 9// Build Changelist: 1443062570 1011...

Android Debuggerd 简要介绍和源码分析(转载)【代码】【图】

转载: http://dylangao.com/2014/05/16/android-debuggerd-%E7%AE%80%E8%A6%81%E4%BB%8B%E7%BB%8D%E5%92%8C%E6%BA%90%E7%A0%81%E5%88%86%E6%9E%90/ 码字很辛苦,转载请注明来自Dylan‘s Zone的《Android Debuggerd 简要介绍和源码分析》 本文以android4.1为基础,分析debuggerd这个工具的使用方法和源码。1.Debuggerd 简介debuggerd是一个daemon进程,在系统启动时随着init进程启动。主要负责将进程运行时的信息dump到文件或者控制...

Aandroid-ViewPager 源码分析【代码】

public boolean executeKeyEvent(KeyEvent event) { boolean handled = false; if (event.getAction() == KeyEvent.ACTION_DOWN) { switch (event.getKeyCode()) { case KeyEvent.KEYCODE_DPAD_LEFT: // 左边. handled = arrowScroll(FOCUS_LEFT); // break; case KeyEvent.KEYCODE_DPAD_RIGHT: handle...

Android/Linux Thermal框架分析及其Governor对比【图】

图表 1 Thermal框架 随着SoC性能的快速提升,功耗也极大提高,带来的负面影响是SoC的温度提高很快,甚至有可能造成物理损坏。同时功耗浪费也降低了电池寿命。 从上图可知,Thermal框架可以分为Thermal Core、Thermal Governor、Thermal Cooling、Thermal Driver以及Thermal Device Tree五大部分。 Thermal Core作为User Space和Kernel的接口,同时也是Thermal框架的中枢。Thermal Driver负责为整个框架读取温度作为输入,同时从DT中...

Android多线程分析之五:使用AsyncTask异步下载图像【代码】

Android多线程分析之五:使用AsyncTask异步下载图像罗朝辉 (http://www.cnblogs.com/kesalin)CC 许可,转载请注明出处在本系列文章的第一篇《Android多线程分析之一:使用Thread异步下载图像》中,曾演示了如何使用 Thread 来完成异步任务。Android 为了简化在 UI 线程中完成异步任务(毕竟 UI 线程是 app 最重要的线程),实现了一个名为 AysncTask 的模板类。使用 AysncTask 能够在异步任务进行的同时,将任务进度状态反馈给 UI ...

在Android5.0上Audio Patch和Patch Panel的一些分析【图】

好久没写博客了,最近整理了下画的流程图和描述图,这次是关于Android5.0里新加的Patch Panel,使用了Audio Patch机制来实现的,正所谓有图有真相,具体请看图。Patch Panel的路径:frameworks/av/services/audioflinger/PatchPanel.cppPatch Panel有关的结构:一个Audio Patch用来表示一个或多个source端到一个或多个sink端。这个是从代码的注释翻译来的,大家可以把它比作大坝,可以有好几个入水口和出水口,每次储水和防水的入水...

Android HandlerThread、Looper、Handler类关系分析

对应的类图及各类的职责如下:HandlerThread的惯常用法:ThreadHandler的looper是在执行run时赋值的,上述代码为何可保证new Handler时getLooper不是null呢,看下HandlerThread.getLooper实现:在run给mLooper赋值后,便会做notifyAll操作其中prepare负责创建当前线程的looper实例,并以TLS形式保存(空间换时间的策略), Looper.loop便以while(true)的方式启动消息接收流程,执行quit操作时,会导致queue.next()返回null,loop break...

Android 消息处理源码分析(1)

Android 消息处理源码分析(1) 在Android中,通常被使用的消息队列的代码在目录\sources\android-22\android\os下,涉及到以下几个类文件 Handler.javaLooper.java Message.javaMessageQueue.javaMessage.java public final class Message implements Parcelable {public int what; //消息种类public int arg1; //低开销的整型参数public int arg2;public Object obj; //Object型数据public Messenger replyTo; //消息处理...

Android自定义View分析【图】

一、基本步骤1、自定义View的属性2、在View的构造方法中获取自定义属性3、重写onMesure方法(非必须)4、重写onDraw方法二、具体实现1、自定义View的属性,首先在res/values/下建立一个attrs.xml 然后在布局文件中使用,红色箭头那一行后面是项目包名,这样可以使用快捷键引出自定义的属性。2、在View的构造方法中获取我们自定义的属性3、如果有必要须重写onMeasure重写之前先了解MeasureSpec的specMode,一共三种类型:EXACTLY:一...

Android源码分析-全面理解Context【图】

转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/21829971 (来自singwhatiwanna的博客)前言Context在android中的作用不言而喻,当我们访问当前应用的资源,启动一个新的activity的时候都需要提供Context,而这个Context到底是什么呢,这个问题好像很好回答又好像难以说清楚。从字面意思,Context的意思是“上下文”,或者也可以叫做环境、场景等,尽管如此,还是有点抽象。从类的继承来说,Context作为一个抽...