activitylog怎么写

1.android activity 怎么写

1、简单的一个Activity代码如下,建议网上找一些学习资料、视频学习

/**

* @author TeachCourse.cn博客

*

*/

@SuppressLint("NewApi")

public class NewsMainActivity extends ActionBarActivity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_news_main);

Fragment frag;

ViewPager view;

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.news_main, menu);

return true;

}

@Override

public boolean onOptionsItemSelected(MenuItem item) {

// Handle action bar item clicks here. The action bar will

// automatically handle clicks on the Home/Up button, so long

// as you specify a parent activity in AndroidManifest.xml.

int id = item.getItemId();

if (id == R.id.action_settings) {

return true;

}

return super.onOptionsItemSelected(item);

}

}

2.ActivityLog.etl 是什么文件

ActivityLog.etl 是什么文件?能删除么?

ETL文件,不建议删除。

ETL文件是WINDOWS自带的性能日志文件。ETL文件是Eclipse Transition Listing (The Eclipse Foundation)相关的系统文档,也关联 Windows2000

Trace Log, ThermaData Logger Log Data File

(Electronic Temperature Instruments Ltd) 和FileViewPro.

ETL文件可以用:FileViewPro* 、Eclipse Transition Listing (The Eclipse Foundation)等软件打开。

3.如何分析Android的Log

首先,让我们看一看AndroidLog的格式。

下面这段log是以所谓的long格式打印出来的。从前面Logcat的介绍中可以知道,long格式会把时间,标签等作为单独的一行显示。

[ 12-09 21:39:35.510 396: 416 I/ActivityManager ] Start procnet.coollet.infzmreader:umengService_v1 for service net.coollet.infzmreader/com.umeng.message. UmengService:pid=21745 uid=10039 gids={50039, 3003, 1015,1028} [ 12-09 21:39:35.518 21745:21745I/dalvikvm ] Turning on JNI app bug workarounds fortarget SDK version 8。 [ 12-09 21:39:35.611 21745:21745D/AgooService ] onCreate() 我们以第一行为例:12-09 是日期,21:39:35.510是时间396是进程号,416是线程号;I代表log优先级,ActivityManager是log标签。

在应用开发中,这些信息的作用可能不是很大。但是在系统开发中,这些都是很重要的辅助信息。

开发工程师分析的log很多都是由测试工程师抓取的,所以可能有些log根本就不是当时出错的log。如果出现这种情况,无论你怎么分析都不太可能得出正确的结论。

如何能最大限度的避免这种情况呢?笔者就要求测试工程师报bug时必须填上bug发生的时间。这样结合log里的时间戳信息就能大致判断是否是发生错误时的log。

而且根据测试工程师提供的bug发生时间点,开发工程师可以在长长的log信息中快速的定位错误的位置,缩小分析的范围。 同时我们也要注意,时间信息在log分析中可能被错误的使用。

例如:在分析多线程相关的问题时,我们有时需要根据两段不同线程中log语句执行的先后顺序来判断错误发生的原因,但是我们不能以两段log在log文件中出现的先后做为判断的条件,这是因为在小段时间内两个线程输出log的先后是随机的,log打印的先后顺序并不完全等同于执行的顺序。那么我们是否能以log的时间戳来判断呢?同样是不可以,因为这个时间戳实际上是系统打印输出log时的时间,并不是调用log函数时的时间。

遇到这种情况唯一的办法是在输出log前,调用系统时间函数获取当时时间,然后再通过log信息打印输出。这样虽然麻烦一点,但是只有这样取得的时间才是可靠的,才能做为我们判断的依据。

另外一种误用log中时间戳的情况是用它来分析程序的性能。一个有多年工作经验的工程师拿着他的性能分析结果给笔者看,但是笔者对这份和实际情况相差很远的报告表示怀疑,于是询问这位工程师是如何得出结论的。

他的回答让笔者很惊讶,他计算所采用的数据就是log信息前面的时间戳。前面我们已经讲过,log前面时间戳和调用log函数的时间并不相同,这是由于系统缓冲log信息引起的,而且这两个时间的时间差并不固定。

所以用log信息前附带的时间戳来计算两段log间代码的性能会有比较大的误差。正确的方法还是上面提到的:在程序中获取系统时间然后打印输出,利用我们打印的时间来计算所花费的时间。

了解了时间,我们再谈谈进程Id和线程Id,它们也是分析log时很重要的依据。我们看到的log文件,不同进程的log信息实际上是混杂在一起输出的,这给我们分析log带来了很大的麻烦。

有时即使是一个函数内的两条相邻的log,也会出现不同进程的log交替输出的情况,也就是A进程的第一条log后面跟着的是B进程的第二条log,对于这样的组合如果不细心分析,就很容易得出错误的结论。这时一定要仔细看log前面的进程Id,把相同Id的log放到一起看。

不同进程的log有这样的问题,不同的线程输出的log当然也存在着相同的问题。Logcat加上-vthread就能打印出线程Id。

但是有一点也要引起注意,就是Android的线程Id和我们平时所讲的Linux线程Id并不完全等同。首先,在Android系统中,C++层使用的Linux获取线程Id的函数gettid()是不能得到线程Id的,调用gettid()实际上返回的是进程Id。

作为替代,我们可以调用pthread_self()得到一个唯一的值来标示当前的native线程。Android也提供了一个函数androidGetThreaId()来获取线程Id,这个函数实际上就是在调用pthread_self函数。

但是在Java层线程Id又是另外一个值,Java层的线程Id是通过调用Thread的getId方法得到的,这个方法的返回值实际上来自Android在每个进程的java层中维护的一个全局变量,所以这个值和C++层所获得的值并不相同。这也是我们分析log时要注意的问题,如果是Java层线程Id,一般值会比较小,几百左右;如果是C++层的线程,值会比较大。

在前里面的log样本中,就能很容易的看出,第一条log是Jave层输出的log,第二条是native层输出的。明白了这些,我们在分析log时就不要看见两段log前面的线程Id不相同就得出是两个不同线程log的简单结论,还要注意Jave层和native层的区别,这样才能防止被误导。

AndroidLog的优先级在打印输出时会被转换成V,I,D,W,E等简单的字符标记。在做系统log分析时,我们很难把一个log文件从头看到尾,都是利用搜索工具来查找出错的标记。

比如搜索“E/”来看看有没有指示错误的log。所以如果参与系统开发的每个工程师都能遵守Android定义的优先级含义来输出log,这会让我们繁重的log分析工作变得相对轻松些。

Android比较常见的严重问题。

activitylog怎么写

转载请注明出处育才学习网 » activitylog怎么写

知识

幼儿园英语活动目标怎么写

阅读(211)

本文主要为您介绍幼儿园英语活动目标怎么写,内容包括幼儿英语教学计划怎么写,幼儿园英语教研目标及内容,如何写幼儿园教学目标如何写幼儿园教学目标。幼儿园小班学期计划幼儿园小班上学期计划 本学期幼儿发展总目标培养幼儿的进餐习惯,是他

知识

汉字王国序言怎么写

阅读(197)

本文主要为您介绍汉字王国序言怎么写,内容包括遨游汉字王国的前言怎么写,五年级上册遨游汉字世界前言怎么写,汉字王国的甲骨文怎么写。五年级学生已有一定汉字识记量,在此基础上安排一次有关汉字的综合性学习活动,让学生对汉字的音、形、义等

知识

干字的笔画顺序怎么写

阅读(202)

本文主要为您介绍干字的笔画顺序怎么写,内容包括干字的笔画顺序怎么写,干字的笔顺怎么写,干字的笔顺怎么写。干字的笔画顺:

知识

excelif公式里含有文字条件怎么写

阅读(755)

本文主要为您介绍excelif公式里含有文字条件怎么写,内容包括excel怎样用if弄含文字的条件,excelif条件中包含文字和公式,excel怎样用if弄含文字的条件。IF是最常用也最实用的一个函数但IF的条件可以嵌套其他函数来实现想要的效果。在这里就

知识

liu馍怎么写

阅读(276)

本文主要为您介绍liu馍怎么写,内容包括liu馍的(liu)怎么写,liu馒头的liu是哪个,刘英文怎么写。“年馍”是家家户户春节期间的必备食品。过春节蒸年馍是中华民族由来以久的习俗。这些年,自己动手蒸馍的人少了,在外面预订馍的人多了,我家从农

知识

hero的复数怎么写

阅读(207)

本文主要为您介绍hero的复数怎么写,内容包括hero的复数是什么,英雄hero的复数是什么,英雄hero的复数是什么为什么能看见“heros”、“heroes”这两种形。hero的复数是:heroeshero 读法 英 [ˈhɪərəʊ] 美 [ˈhɪroʊ] n.英雄,豪杰(尤指男性

知识

fengmuo怎么写

阅读(179)

本文主要为您介绍fengmuo怎么写,内容包括从军行怎么写,卢沟桥烽火缩写怎么写啊求,熊出没之雪岭雄风的拼音怎么打。❶拼音曾经的定位是转写系统,是准文字.汉语拼音属于转写系统,而不是标音系统.如果你了解一点历史的话,就会知道,汉语拼音是当成

知识

晨用繁体怎么写

阅读(255)

本文主要为您介绍晨用繁体怎么写,内容包括晨的繁体字怎么写,晨字繁体字怎么写,晨字的繁体字怎么写。"晨"的繁体字还是晨晨的读音:chén二、汉字释义:清早,太阳出来的时候。三、汉字结构:上下结构四、部首:日五、相关词组:早晨、清晨、晨

知识

老公翻译成英文怎么写

阅读(228)

本文主要为您介绍老公翻译成英文怎么写,内容包括老公的英文怎么写,老公翻译成英文怎么叫,老公翻译成英文怎么说。老公的英语单词是husband。词汇分析音标:英 [hʌzbənd] 美 [hʌzbənd] 释义:节约地使用(或管理);丈夫短语Mer

知识

老公生日请柬怎么写

阅读(260)

本文主要为您介绍老公生日请柬怎么写,内容包括老公生日请柬怎么写,生日请柬怎么写,生日请柬应该怎么写。女儿(儿子)生日请柬范文尊敬的XXX(先生女士小姐也或其它敬称):某年某月某日是小女(小儿)XXX的xx生日,值此佳日的某年某月某日,在

知识

廉洁自律方面怎么写

阅读(201)

本文主要为您介绍廉洁自律方面怎么写,内容包括个人述职报告中的廉洁自律情况怎么写,廉洁自律专题民主生活会廉洁自律情况怎么写,关于征文“廉洁自律”的作文怎么写。廉洁文化是我们中华民族优秀文化的重要组成部分,是我们国家倡导的主流文化

知识

queen的音标怎么写

阅读(226)

本文主要为您介绍queen的音标怎么写,内容包括queen的发音(要音标),queen的音标是什么,“queen”这个单词的音标和意思哪个大哥大姐可以提供一下啊。读法:英 [kwiːn] 美 [kwiːn] n.女王,王后;(纸牌中的)皇后;(蜜蜂等的)蜂王2、vt. 使…成为女王或王

知识

singsongs音标怎么写

阅读(232)

本文主要为您介绍singsongs音标怎么写,内容包括singsongs用汉语怎么读,singsongs用汉语怎么读,singsomesongs怎么读。song,读音:英 [sɒŋ] 美 [sɔːŋ]n. 歌曲;歌唱;(鸟等)鸣声词汇搭配:accompany a song 为歌唱伴奏2、

知识

春光明媚的英语怎么写

阅读(193)

本文主要为您介绍春光明媚的英语怎么写,内容包括春光明媚的英文怎么说,春光明媚的英文怎么说,春光明媚用英语怎样说。春季像一位画家,涂满了蓬勃的色彩。Spring is like a painter, painted with a vibrant co

[/e:loop]