问题标签 [application-lifecycle]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
814 浏览

c# - Server.Transfer 时未触发应用程序生命周期事件

我有一个自定义重写模块,当传递特定的查询字符串参数时,由于 adserve 软件和跟踪,我需要能够调用 server.transfer 而不是 response.redirect

在 RewriteModule 的初始化事件中,我注册了事件:

BeginRequest PreRequestHandlerExecute ReleaseRequestState

当调用 Response.Redirect 时,实际调用 ReleaseRequestState 事件并且重写模块完成并且设置了新的控制 URL

当调用 Server.Transfer 时,不会调用 ReleaseRequestState 事件并且未设置友好 URL

我想我理解 Response.Redirect 和 Server.Transfer 之间的区别,但我无法弄清楚为什么实际上没有调用该事件 - 是 Session.End 还是 Session.Abandon 事件被调用并且这个事件永远不会被触发?还是这里发生了完全不同的事情

谢谢

保罗

0 投票
1 回答
1036 浏览

android - 进程管理:被杀还是不被杀

一个观察:当我在 android 上开发我的应用程序时,我注意到 LogCat 中有两行。这些发生是因为我自己的应用程序的内存需求太多。我读过Android可以决定何时摆脱不需要的进程或由于内存需求。

这是否意味着警报根本不会触发(当其他一些应用程序让它杀死时)?警报是一项关键服务,不应被终止。

(如果我的理解有误,请纠正我。)

0 投票
1 回答
439 浏览

android - 安卓动态壁纸好像没有退出?

我试过运行各种动态壁纸。当我将另一个设置为实时时,当我键入“ps”时,旧的仍然显示在 adb shell 中:

我正在构建的我自己的也是这样做的……我对 android 应用程序的生命周期有什么不了解的地方吗?

(在我自己的代码中,服务线程完成,但它仍然显示在 ps 中)。

0 投票
1 回答
3496 浏览

android - 在单例中使用 BroadcastReceiver 的最巧妙方法等等

我有一个单例,它存储了一些关于我的应用程序用户的谨慎信息。目前,它存储用户的登录信息和用户的位置。

1) 位置是通过服务找到的。目前,服务直接引用我的单例来将经度和纬度填充到其中。我想使用 BroadcastReceiver 来发送单例听到并用于更新值的广播。

但是,要注册 BroadcastReceiver,我需要在我的单例中添加一个 Context。实现我想要的最巧妙的方法是什么。BroadcastReceiver 可能不是合适的对象吗?

2)另外,我在使用单例时会遇到什么问题?我假设 Android 可能会在任何给定时间回收这些内存(这显然很糟糕);那么我该如何防止呢?传递应用程序的 Context 并将其存储在成员变量中会阻碍这一点吗?

Android 文档指出:“但是,静态对象的生命周期并不受您的控制;因此要遵守生命周期模型,应用程序类应该在 onCreate() 和 onTerminate( ) 应用程序类的方法”,但我不完全确定如何实现这一点。

0 投票
1 回答
1578 浏览

android - Android Activity 测试示例具有令人困惑的 OnPause 期望

我正在尝试了解 Android 网站上的活动测试教程。其中一项测试在 SpinnerActivity 示例中设置了一个微调器,强制暂停,然后重置微调器,强制恢复,然后验证应用程序是否正确恢复了状态。我在这个问题的底部粘贴了相关代码以供参考。

我很困惑为什么编写测试的人认为微调器可能在 OnPause() 和 OnResume() 之间损坏。这是因为微调器可能已在某些后续活动中被重用并因此失去其状态?这是我能想到的唯一合理的解释。

我担心保留我的应用程序的活动非小部件成员,例如字符串、整数等。这些是在 OnCreate 期间初始化的,用户不会更改。结果,我看不出有任何理由在 OnPause 期间保存它们,因为即使操作系统在暂停后直接终止活动, OnCreate() 也会重新初始化这些成员。

那么假设这些非小部件成员在暂停时不会受到伤害是否安全(假设应用程序最终恢复?)

0 投票
1 回答
756 浏览

c# - Windows Phone 7:确定在 Application_Activated 事件期间激活哪个页面

当重新激活墓碑应用程序时,我遵循恢复我的持久和非持久状态和对象的一般最佳实践原则。可以在这篇非常好的 Microsoft 文章中找到

这里

示例仅显示了应用程序主页的简单重新激活。但是,由于我的应用程序有多个页面(其中任何一个都可以被删除并因此重新激活),并且每个页面都绑定到不同的 ViewModel 对象。我想知道如何确定最终将激活哪个页面,以便我可以选择性地反序列化并恢复该页面的正确 ViewModel 对象。

或者是恢复所有 ViewModel 的最佳实践,还是有另一种设计模式?

0 投票
7 回答
73408 浏览

android - 使用 Android Application 类来持久化数据

我正在开发一个相当复杂的 Android 应用程序,它需要关于应用程序的大量数据(我会说总共大约 500 KB——对于移动设备来说这么大吗?)。据我所知,应用程序中的任何方向变化(更准确地说是在活动中)都会导致活动的完全破坏和重新创建。根据我的发现,Application 类没有相同的生命周期(即,出于所有意图和目的,它总是被实例化)。将状态信息存储在应用程序类中然后从 Activity 引用它是否有意义,或者由于移动设备上的内存限制,这通常不是“可接受的”方法?我非常感谢有关此主题的任何建议。谢谢!

0 投票
3 回答
5784 浏览

java - Android 应用程序/活动每次启动或恢复时都要完全重新开始?

我有一个适用于 Android 的儿童应用程序,该应用程序有一些独特的考虑因素,因为该应用程序基本上没有导航(它适用于年幼的孩子)。我不想通过添加退出/重启按钮来破坏我的应用程序 UI(在 iPhone 上已经成功)。

我真正需要的是相当简单——我希望我的活动/应用程序在每次启动时都能开始干净和新的。无论是初始加载还是其他什么——基本上任何时候 onResume 被调用我都想要一个全新的应用程序实例。

我最初以为我可以在用户离开时退出/退出/完成应用程序。但是我还没有找到一种不会在启动时导致崩溃的方法。此外,关于这个想法的每个线程/堆栈溢出帖子都充满了人们摇摆手指并说你永远不应该退出安卓上的应用程序。

如果我无法退出应用程序 onExit,是否可以在每次调用 onResume 时重新启动我的活动?(或者那会是一个无限循环吗?)。

非常感谢任何帮助!

0 投票
1 回答
627 浏览

erlang - 考虑将应用程序从 .NET 移植到 Erlang - 需要建议

我正在为 Erlang 寻找未来版本的分布式软实时托管的基于 Web 的电话应用程序(即,Erlang 看起来绝对是此类应用程序的完美选择)。我来自 .NET 背景,这个应用程序的当前版本使用 C#、WCF 和 JQuery 的组合来提供服务。我现在需要 Erlang 来让我的正常运行时间增加额外的 9,并让我获得更多的服务器成本。

以前我在这里建立了一个开发过程,结合了 VS.NET、GIT、TeamCity 和 MSI 文件的自动部署到我们维护的各种环境。它并不完美,但我们现在都对它很满意。我想知道像我们这样的流程是否适合这种完全不同的技术堆栈(LYME)?

我相信我们以前使用 .NET 解决的所有编程挑战都可以用更少的代码用 Erlang 更好地解决,所以我完全相信语言选择。通过阅读有关 Erlang 的 Pragmatic 和 O'Reilly 书籍,我还不明白我应该如何调整我的软件工程和应用程序生命周期管理 (ALM) 流程以适应新平台。我看到就地代码更新可以使我(以及我的测试和运营团队)的生活更轻松(与尝试在 Windows 网络上部署 MSI 文件的可怕痛苦相比),但我不确定事情应该如何改变当我使用 Erlang 时。

你会怎么做:

  • 在 Erlang 中做持续集成(常用吗?)
  • 在 QA 周期中使用它(我们经常使用 GIT 运行并发主题分支,它们有自己的 mini-QA 周期,因此它们都被部署到测试环境中)
  • 构建代码并将其分发到 DEV、TEST、UAT、STAGING 和 PROD 环境
  • 将代码生成阶段集成到您的构建周期中(我们目前使用 MSBUILD + T4 模板)
  • 为一堆不同的服务器集中日志记录(我们目前使用 Log4Net、MSMQ 等)
  • 使用 SCOM 等工具进行警报
  • 确定某人/某事是否错误配置了您的生产服务器
  • 仅在经过充分的 QA 后才允许生产热修复(仅由授权人员)
  • 分析应用程序的性能(计算和通信)
  • 与基于 Windows 的活动目录服务器交互

我想我需要知道什么对你有用,为什么!您使用了哪些工具和框架?你尝试了什么失败了?如果你可以重新开始,知道你现在所知道的,你会做些什么不同的事情?

0 投票
1 回答
16265 浏览

android - 当我的活动获得焦点时调用哪个方法?(接电话后,返回键,主页键等...)

我的应用程序有问题。它有很多活动。其中两个有谷歌地图视图。我的 A 活动有一个完整的 MapView,而我的 B 活动有一个小的 MapView。好的,当我在 B 活动上并且有时按返回键直到我返回到我的 A 活动时,我的 A 活动的地图显示错误,屏幕底部有一个黑色区域。这仅在我从 B 活动中按下时才会发生。

因此,我需要知道在获得焦点时在 A 中调用了哪个方法,因为我需要实现/覆盖它以从头开始重新绘制所有窗口。

另外,我必须放置哪些代码才能从头开始重新绘制所有窗口?