首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >亚行日志丢失日志

亚行日志丢失日志
EN

Stack Overflow用户
提问于 2015-02-21 09:29:21
回答 1查看 3.3K关注 0票数 1

我对Android相当陌生,我想了解活动的生命周期。Android开发人员站点上的文档对此非常有用,但我希望看到生命周期的运行。

因此,我创建了一个新的简单项目,在主要活动中,我重写了方法onCreate()onDestroy()onStart()onStop()onResume()onPause(),并向每个方法添加了一个日志语句。

然后,我启动模拟器,打开应用程序,改变方向,切换到另一个应用程序等等,然后查看日志语句,看看到底发生了什么。

我注意到奇怪的行为。例如:我第一次启动应用程序:

代码语言:javascript
复制
02-21 10:22:32.470 I/MainActivity( 2114): onCreate called.
02-21 10:22:32.520 I/MainActivity( 2114): onStart called.
02-21 10:22:32.520 I/MainActivity( 2114): onResume called.

这正是我所期望的,好吧。然后,我打开新的应用程序开关。

代码语言:javascript
复制
02-21 10:24:01.520 I/MainActivity( 2114): onPause called.
02-21 10:24:01.520 I/MainActivity( 2114): onStop called.

我换回它:

代码语言:javascript
复制
02-21 10:24:26.050 I/MainActivity( 2114): onStart called.
02-21 10:24:26.050 I/MainActivity( 2114): onResume called.

到现在为止还好。然后,我再次打开应用程序开关:

代码语言:javascript
复制
02-21 10:24:31.670 I/MainActivity( 2114): onStop called.

现在越来越奇怪了。onPause()在哪里?在我看来,在调用之前,必须调用这个方法。

这些日志消息都是示例,有时其行为略有不同,而且并不总是可预测的。但是总是缺少一些日志语句。

我在谷歌上搜索了一下,发现了一些关于“旋转”日志的信息。我的问题是:我不明白为什么很难得到所有的日志语句。句号。也许存在一些技术障碍,但从开发人员的角度来看,在了解新的生态系统的同时,这是令人沮丧的。

我是不是漏掉了什么?是否有一个获取所有日志条目的简单解决方案?

EN

回答 1

Stack Overflow用户

发布于 2015-10-23 12:18:00

来自https://developer.android.com/reference/android/util/Log.html

小贴士:别忘了,当你打电话的时候 Log.v(TAG, "index=" + i); 当您构建要传递到Log.d的字符串时,编译器将使用StringBuilder,并且至少会发生三次分配: StringBuilder本身、缓冲区和string对象。实际上,还有另一个缓冲区分配和复制,甚至对gc造成了更大的压力。这意味着,如果您的日志消息被过滤掉,您可能会做大量的工作,并且会产生大量的开销。

来自:http://developer.android.com/tools/debugging/debugging-log.html#filteringOutput

每个Android日志消息都有一个标记和与其相关的优先级。

  • 日志消息的标记是一个短字符串,指示消息来源的系统组件(例如,视图系统的" view“)。
  • 优先级是下列字符值之一,从最低优先级到最高优先级排序:
    • V-详细(最低优先级)
    • D-调试
    • 一-信息
    • W-警告
    • 电子错误
    • F-致命
    • S-沉默(最高优先级,从来没有任何印刷)

你可能想调查一下:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28644206

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档