Android-HelloWorld解读

Android-HelloWorld解读

一 Android启动过程简介

大体的过程是:Zygote守护进程->vm虚拟机->应用程序app(没有main函数)

1 PackageManageService类识别manifest文件

2 manifest文件去找到主Activity类,然后加载这个Activity,

3 启动主Activity内的onCreate方法

4 在onCreate内调用setContentView去绑定layout界面

二 eclipse启动Android程序过程

编译classes.dex文件->打包apk文件->启动选择设备(真机还是虚拟机)->上传apk文件->安装apk文件->启动主Activity

三 Log

1 Log是系统产生的日志,分析问题的重要文件

按照优先级查看log,程序出错,看红色的log

log分类:

verbose(V)详细模式

debug(D)调试模式

info(I)信息模式,普通模式

warn(W)警告模式

error(E)出错模式

2 Log产生的时候:

程序异常退出,uncaused exception

程序强制关闭, Force Close 简称(FC)

程序无响应, Application No Response 简称(ANR)

何时产生ANR?

界面操作等待的响应时间超过5秒

handleMessage回调函数中执行超过10秒

3 Log产生的位置及查找

在根目录下的data/Log

查找分析log文件一般查找关键字fatal

4 Log的文件格式

系统基本信息,包括内存,CPU,进程队列,虚拟内存,垃圾回收等

MEMORY INFO(/proc/meminfo)

CPU INFO

PROCRANK

VIRTUAL MEMORY STATS(/proc/vmstat)

VMALLOC INFO(/proc/vmallocinfo)

事件信息,也是我们主要分析的信息

VMALLOC INFO(/proc/vmallocinfo)

EVENT INFO(/proc/vmalloc info)

虚拟机信息,包括进程,线程,可以跟踪进程和线程

VM TRACES JUST NOW(/data/anr/traces.txt)

5 手机出厂的两种模式

development 开发者模式(含root权限)

user模式(不含有root)

时间: 2024-10-08 10:44:32

Android-HelloWorld解读的相关文章

Android - HelloWorld的Layout内容

Android - HelloWorld的Layout内容 本文地址: http://blog.csdn.net/caroline_wendy 作为最基础的Android程序, HelloWorld的XML文件能够作为測试使用. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools&q

最简单的基于FFmpeg的移动端例子:Android HelloWorld

从本文开始打算记录一系列FFmpeg在Android/IOS开发的示例程序.前面几篇文章记录FFmpeg安卓端开发的例子,后面几篇文章记录FFmpeg IOS端开发的例子.这些例子中FFmpeg相关的代码源自于<FFmpeg示例合集>中的程序.本文记录第一个程序:安卓平台下基于FFmpeg的HelloWorld程序. Android程序FFmpeg类库使用说明 Android应用程序使用FFmpeg类库的流程图如下所示. 上图中的流程可以分为"编译FFmpeg类库".&qu

最简单的基于FFmpeg的移动端样例附件:SDL Android HelloWorld

===================================================== 最简单的基于FFmpeg的移动端样例系列文章列表: 最简单的基于FFmpeg的移动端样例:Android HelloWorld 最简单的基于FFmpeg的移动端样例:Android 视频解码器 最简单的基于FFmpeg的移动端样例:Android 视频解码器-单个库版 最简单的基于FFmpeg的移动端样例:Android 推流器 最简单的基于FFmpeg的移动端样例:Android 视频转

cocos2d-x mac os启动 android helloworld

工具环境: mac os, jdk, Android Studio, cocos2d-x-3.13.1, ant, android-ndk. 解压coco2d-x后,根目录下有 setup.py, 命令行输入: python ./setup.py,根据提示设置好环境变量. 1. 建立项目 命令行输入: cocos new HelloWorld -p com.foo.helloworld -l cpp -d ~/workspace/cocos/ 参数说明: ? HelloWorld为项目名称 ?

QT for Android HelloWorld实现

1 新建工程 打开Qt Creator,文件->新建文件或项目:在出来的对话框里面,选择"Android 模板"->Application->Qt Widgets Application 然后点击"Choose-" 设置完"名称"和"创建路径",如果觉得有必要可以把"设为默认的项目路径"勾上:然后下一步: 在"Qt Widgets Application"中,我建议把&

Android HelloWorld

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"

Arcgis Android - HelloWorld

概述 虽然esri官网上最新版本是10.2.4,但是例子中实在是很难运行,总是出现各种各样的bug.又因为初学是Android,所以不想太浪费时间弄些配置了.决定先将v2.0.0的Arcgis for Android熟悉吧. 1,模拟器的参数的设定根据自己的这篇日志设定:Arcgis android - Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE 2,通过New->Project->Arcgis for Android->

Android——HelloWorld

今天正式加入实验室做安卓,看上去无从下手,让我想到当年学ACM一样,但是也一直搞过来了,现在又是一个新的起点. 废话不多说~~~ Hello World 安装: JDK SDK Eclipse 参考:http://www.cnblogs.com/rayee/archive/2012/01/31/2332303.html 当然也有比较简单的方案:基于谷歌Android SDK 的简易开发环境搭建方法. Hello World 哦~~~ 和C#的winform一样可以拖动控件.挺方便的. 插入一张t

Android环境搭建和HelloWorld编写

这几天实习有点空闲,偷点时间体验android,哈哈 一直从事后台开发,所以可能对java掌握的还算不错,对入门android也是很有帮助的 android环境搭建 1.JDK.Eclipse 一般从事Java开发的朋友,都会有自己的jdk,eclipse,这里就省略了,我这里用的是jdk1.8,eclipse3.7 2.Android SDK Android SDK 官方下载地址:http://developer.android.com/sdk/index.html 下载EXE安装文件,安装后

最简单的基于FFmpeg的移动端例子:Windows Phone HelloWorld

===================================================== 最简单的基于FFmpeg的移动端例子系列文章列表: 最简单的基于FFmpeg的移动端例子:Android HelloWorld 最简单的基于FFmpeg的移动端例子:Android 视频解码器 最简单的基于FFmpeg的移动端例子:Android 视频解码器-单个库版 最简单的基于FFmpeg的移动端例子:Android 推流器 最简单的基于FFmpeg的移动端例子:Android 视频转