问题标签 [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 投票
2 回答
421 浏览

android - 一个简单的 Android 应用程序的生命周期

我有一个包含 3 个活动的简单应用程序:

  • 第一个包含一个搜索框,它调用 Web 服务并在列表视图中显示下面的结果(餐厅)
  • 当一个餐厅被点击时,另一个活动开始显示餐厅的描述和一个按钮“显示地图”
  • 当单击“显示地图”按钮时,猜猜看,地图显示在第三个活动中。

所有数据都由 Web 服务(餐厅描述和坐标)加载到第一个活动中,每个活动所需的数据使用intent.putExtra.

现在点击时一切似乎运行顺利back button(例如,点击地图上的后退按钮恢复restaurant description活动并正确设置所有数据),而我还没有对生命周期做任何事情。

为什么?是否所有变量都自动保存?我应该使用onSaveInstanceState()onRestoreInstanceState()

谢谢

七月

0 投票
1 回答
781 浏览

android - Android - 在哪里存储生成的位图?

我有一个应用程序,它可以动态生成 6 到 100 个小位图,供用户在给定会话中在屏幕上移动。我目前在其中生成它们onCreate并将它们存储到 sd 卡中,以便在改变方向后我可以将它们从外部存储中取出并再次显示它们。但是,这需要时间(加载),我想在生命周期更改之间保留位图引用,以便更快地访问。

我的问题是,有没有更好的地方来存储我生成的位图?我正在考虑在我的基本活动中创建一个静态存储库,只有在应用程序完全从内存中删除时才需要重新加载(关闭、其他应用程序需要资源、30 分钟重启等)。

理想情况下,我希望用户能够返回到标题屏幕,单击“恢复”按钮,然后onCreate我就可以访问那些驻留的位图引用,而不必再次从存储中加载它们。出于这个原因,我认为这不是Activity.onRetainNonConfigurationInstance我需要的。

或者,有没有比我正在做的或我描述的计划更好的方法来处理多个生成的位图?

0 投票
3 回答
566 浏览

android - 查看 Android 源代码,特别是围绕活动和服务生命周期

我想更多地研究 Android 的工作原理。更具体地说,我想知道系统如何启动应用程序(包括活动和服务)。我还希望能够查看谁调用了他们的生命周期方法以及对象是如何被分配和回收的。

我已经从 git 下载了 Android 源代码并浏览了一下,但由于它有点大,任何指针都将不胜感激。

谢谢!

0 投票
2 回答
3125 浏览

osgi - OSGi Equinox 捆绑包始终处于“已解决”状态

我创建了一个主捆绑包,其中一个我安装了Equinox p2。然后我将其导出以获取可执行文件。我的可执行文件正常工作。

我还创建了另一个与第一个交互的 Bundle。在 Eclipse 中,如果我使用这 2 个捆绑包创建产品配置并运行该产品,那么一切正常。

之后,我将我的第二个包导出为“可部署功能”,然后通过“帮助->安装新软件”在我的应用程序中安装这个包。我可以安装它,但是即使我重新启动我的应用程序,我的 Bundle 也始终处于“已解决”状态。我想将状态设置为“活动”。

你知道我是否可以像在“产品配置”中那样配置一些东西来自动启动我的包?还是有其他解决方案?

0 投票
1 回答
631 浏览

android - 另一个关于简单 Android 应用程序生命周期的问题

我有一个带有“当前位置附近”复选框的搜索字段和一个列表视图来显示结果的活动。我现在处于活动的生命周期中,实现了 onSaveInstanceState 和 onRestoreInstanceState 方法。当活动被破坏并且我回到它时,带有结果的列表视图已经消失,但搜索框中的文本和复选框状态被恢复,而我没有在 onSaveInstanceState 中保存任何内容。为什么?什么是“自动”保存的,我需要在 onSaveInstanceState 中保存什么?

0 投票
1 回答
1157 浏览

asp.net - ASP.NET 中静态对象的范围

我刚刚阅读了这个线程,它讨论了从帮助类静态创建 NHibernate SessionFactory 对象的代码:

确保 NHibernate SessionFactory 只创建一次

ASP.NET 应用程序中静态成员变量的生命周期是什么?它是否与工作进程一样存在?还是 ASP.NET 会话?或者是其他东西?

老实说,我对这一切有点困惑。

谢谢

大卫

0 投票
2 回答
1633 浏览

java - 在 JSF 页面中显示错误并继续呈现它,而不是重定向到单独的错误页面

只要在加载 JSF facelet 期间出现错误,JSF 就会在错误点停止呈现页面并改为显示错误页面(默认行为)。我希望 JSF 继续呈现页面并在页面中显示异常/错误。例如,如果页面正在加载引发异常的“portlet”,那么该异常将在 portlet 中显示为文本。我不希望将整个页面转发到单独的错误页面。

我已经初始化了自己的实现ExceptionHandlerFactoryExceptionHandler实现,并且可以成功迭代ExceptionQueueEvents。但是,尽管出现错误,我不知道如何指示 JSF 继续加载页面。这甚至是正确的方法吗?ExceptionHandler 是在(如我所想的那样)之后调用还是在处理 facelet 的中间调用?如果之后,有什么我可以做的ExceptionHandler吗?

我知道我应该:

  • 隐藏用户无法访问的部分(我的具体情况与安全性有关,当用户尝试加载他无权访问的内容时。但是,我正在寻找一个全球性的答案)
  • 手动处理错误,因此不会引发意外异常

但是,我希望用户能够继续使用系统,尽管出现了一些小组件故障(例如,如果某些新闻提要 portlet 抛出不应阻止用户查看和使用其他内容的错误)。

我正在使用 Mojarra 2.0.2。我觉得这是一个非常容易解决的问题,但我无法弄清楚:(

0 投票
1 回答
2604 浏览

java - 再次在任何@PostConstruct 之前进行所有@Resource 注入

JSR-250 说所有 @Resource 注释的方法都将在 @PostConstruct 方法之前调用。

我的问题是:

这是否意味着在调用任何 @PostConstruct 注释方法之前,将调用上下文中所有 bean 上的所有 @Resource 注释方法?或者换句话说,即使上下文中的其他 bean 仍然没有注入依赖项,一旦注入了它的依赖项,是否可以调用 bean 的 @PostConstruct 方法?

问候,蒂姆。

0 投票
2 回答
5561 浏览

java - 活动生命周期:startActivityForResult 并按返回按钮

如果用户按下后退按钮,是否会调用Activity 生命周期的方法,但如果调用 startActivityForResult() 方法则不会?我无法通过测试找到方法。

0 投票
7 回答
53116 浏览

android - 如何检查我的活动是否是屏幕中正在运行的当前活动

我用 Toast 来发出通知,但它似乎会出现,即使它的活动不在当前屏幕中并且已经启动了一些其他活动。

我想检查这种情况,当活动不是当前活动时,我不会发送 Toast 通知。但是怎么办?