`
ntop
  • 浏览: 36865 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Tombstone

 
阅读更多

做个小实验:

 

在onDeactivate()和onClosing()方法中分别执行下面方法、:

 

 

for(int i = 0; i< 10; i++)
{
      Debug.Writeline("i:"+i);
      Thread.sleep(1000);

}

 结果是,在tomstone 和 关掉程序的时候,这个两个方法,不会影响界面的反应,但是会在后台继续走,这说明,虽然按下 window或者back键的时候,界面是关掉了,但是主线程还在等待函数的执行结束。

 

同样,在onDeactivated()和onClosing()中执行下面方法:

 

 

private void run()
{
      for(int i= 0; i< 10; i++)
     {
           Debug.WriteLine("i:"+);
           Thread.sleep(1000);
       }
}

new Thread(new ThreadStart(run)).Start();

 

在tombstone 的时候,新的线程会停止执行,然后当再次激活的时候,线程开始继续刚才的状态执行。

在关闭程序的时候,新的线程没有执行,就被杀死了。

 

这说明一个问题,tombstone 会保存当前程序的状态,即使是一个正在执行的线程,也会记住那个瞬间保存起来。当激活的时候,再回到之前的状态,而在关闭程序的时候,主线程执行完毕,立刻结束。不管是不是还有别的线程在执行。

 

所以,千万不要试图再程序关闭的时候,开一个线程去做一些保存的操作,就同步执行~这时候虽然界面没有了,但是线程还是存在的,如果自己开线程的话,界面没了,你的线程也会没得~

 

 

------------------------------

 

以上全错,有误导嫌疑,事实的情况是在我测试的时候,wp sdk使用的7.1版本,7.1版本不会立刻进入Tombstone状态,而是先进入dormant状态,事实上上面的现象是在dormant状态下产生的,so,真实的tombstone状态会导致App和页面类都被摧毁,host在其中的数据都会丢失,所以需要用 PhoneApplicationService.state 字典来保存数据!

 

但是对于一些需要长期保存的数据应该保存在文件里面,因为Wp最多在后台可以维持5个后台应用,这些后台应用可能出于dormant状态,也可能出于tombstone状态。但是一旦打开了第6个程序,那么最先被打开的程序将被终结, PhoneApplicationService.state 字典中的数据也会消失。

 

 

 

分享到:
评论

相关推荐

    TOMBSTONE

    在IT领域,"TOMBSTONE"这个词在不同的上下文中有不同的含义。在这里,结合标签"字体",我们可能是在讨论一种特殊的字体设计或者一个与字体相关的项目,比如一个软件、字体库或者是设计风格。不过,由于提供的信息...

    tombstone文件解析结构说明

    android的 tombstone文件解析结构说明

    stack工具用于分析tombstone文件

    参考 http://blog.csdn.net/koffuxu/article/details/37959071

    tombstone engine 墓碑游戏引擎源码分享

    特点:Tombstone Engin是功能完整,开发速度快的游戏引擎,以前的C4引擎。拥有完整SDK、素材导入、UI编辑器、脚本编辑器等,可快速开发出可玩的FPS游戏。拥有专属的纹理、声音、电影格式,在纹理光源处理上做的十分...

    android strictmode_dropbox_tombstone介绍

    介绍android 上运行时调试工具,strictmode,dropbox和tombstone

    Android tombstone文件是如何生成的

    本节内容我们聚焦到androidQ上,分析android中一个用于debug的功能,那就是tombstone,俗称“墓碑”。现实生活中墓碑一般是给死人准备的,而在android系统中“墓碑”则是给进程准备的。 为何Android要设计出这样一个...

    bugreport、logcat、kernel、anr以及tombstones的log抓取

    当应用崩溃且无法捕获异常时,系统会生成一个`tombstone`文件,记录崩溃时的内存状态和调用堆栈。这有助于开发者理解导致崩溃的确切原因,特别是涉及到内存管理的问题。 至于`recovery`文件,它是Android系统的一个...

    Tombstone:通过审批流程、电子邮件通知和仪表板管理项目

    【Tombstone:项目管理工具】 Tombstone 是一个基于 JavaScript 开发的项目管理工具,专注于通过审批流程、电子邮件通知以及丰富的仪表板来优化活动的 Auras 工作流。这个工具旨在提供一个简洁易用的界面,帮助用户...

    tombstone:WIP利息计算器,具有良好的清理用户界面

    【标题】"tombstone:WIP利息计算器,具有良好的清理用户界面" 指的是一款正在开发中的项目,名为“墓碑”的利息计算器。这个工具致力于提供一个清晰、整洁的用户界面,使得用户在计算利息时能有直观且愉快的体验。...

    tombstone:带有墓碑PHP死代码检测:headstone::zombie:

    scheb /墓碑 ... 该库为您提供了一个工具箱,用于在代码中放置,跟踪和评估逻辑删除。 什么是墓碑? 要了解基本概念,请观看《速度》(Velocity Santa Clara)2014年大卫·施内珀尔(David Schnepper)的5分钟演讲。...

    tombstones

    在IT领域,"tombstone"一词常用于表示一种特殊的日志文件,尤其是在Android操作系统中,当应用程序崩溃时生成的“墓碑”文件。这些文件被称为“tombstone”,因为它们记录了程序死亡(崩溃)的信息,就像墓碑记录着...

    Android Native Crash分析详解

    Tombstone文件是进程崩溃后保留的基本信息,其中包含了Native Crash分析的必要信息。此文件由debuggerd进程抓取,并存储在/data/tombstone目录下。Snapshot机制会收集相关文件并生成最终的Snapshot文件。原始的...

    emule-gifc-1.0反吸血完整文件块传输

    然而没想到的是4月12日一款"非著名"mod率先发布了基于 0.50a的版本,作者tHeWiZaRdOfDoS发布了eMule 0.50a Tombstone v2.1 ,成为官方第一个基于0.50a的mod发布者。 eMule v1.0 Tombstone v2.1包含了新版eMule的...

    Android-xCrash是一个安卓APP的崩溃捕获库。它支持捕获native崩溃和Java异常

    在Android系统中,当程序崩溃时,系统会生成一种名为tombstone的文件,记录了崩溃时的内存状态和调用栈信息。Android-xCrash仿照这一机制,能够在App进程崩溃时自动生成类似的tombstone文件,但无需应用程序具有root...

    stack 分析lib问题

    当系统发生tombstone的时候,kernel首先会上报一个严重的警告信号(signal),上层接收到之后,进程的调试工具会把进程中当时的调用栈现场保存起来,并在系统创建了data/tombstones目录后把异常时的进程信息写在此...

    WindowsServerR2AD备份和恢复.pdf

    根据提供的文件信息,以下知识点详细解释了Windows Server 2008 R2中的AD(Active Directory)备份...在实施备份和恢复策略时,还应注意调整和优化相关的配置参数,如Tombstone Lifetime,以适应不同的业务需求和环境。

    Windows Server 2008 R2之十二AD的备份和恢复.docx

    总的来说,Windows Server 2008 R2中的AD备份与恢复涉及多个步骤,包括正确选择备份策略、理解不同类型的恢复模式以及掌握如何处理Tombstone记录。熟练掌握这些技巧,对于保障企业的业务连续性和数据安全性至关重要...

    [Java4Android 31_Java当中的异常(二)

    在Java编程语言中,异常处理是一项至关重要的技能,它能够帮助开发者优雅地处理程序运行时可能出现的错误,保证程序的健壮性和稳定性。本节主要探讨的是Java中的异常处理机制,我们将深入理解什么是异常,如何捕获和...

    Cassandra的研究

    6. ** Tombstone**:在Cassandra中,删除数据并不立即从磁盘中移除,而是使用Tombstone标记,这样可以处理数据的并发更新和避免数据丢失。 7. **时间戳解决冲突**:在多版本并发控制(MVCC)机制下,Cassandra使用...

Global site tag (gtag.js) - Google Analytics