android-lifecycle相关内容

片段生命周期:当“销毁"时和“ondestroyview"不叫?

想象一下这个场景:我在 Pager 中有一个 Fragment.我尝试切换到其他应用程序,以便拥有我的寻呼机(和我的片段)的 Activity 最终将被停止并暂时销毁. 所以,当我回到我的 Activity 时,会调用 Fragment 的回调 onCreate、oncreateview 等等.但是之前没有调用过 Fragment 的 onDestroy 回调!似乎在“onStop"之后片段 ..
发布时间:2021-11-27 18:34:39 移动开发

Android:在什么情况下出现的 Dialog 会导致 onPause() 被调用?

Android Activity 文档中的一个片段(向下滚动到“前台生命周期"行)说: 一项活动可以频繁地进入和退出前台——例如例如,onPause() 在设备进入睡眠状态或当对话框出现. 我不太明白这个.在什么情况下会发生这种情况?onPause() 是否仅在相关对话框的上下文与要在其上显示对话框的活动不同时才调用? 编辑:添加代码示例以详细说明我的疑问 根据文档中的上述 ..
发布时间:2021-11-27 18:34:28 移动开发

在片段中显示片段视图分页器

我有一个包含 ViewPager 的片段.ViewPager 与包含一组片段的适配器相关联. 在加载父片段后,我遇到了一个 IllegalStateException 消息:java.lang.IllegalStateException: Recursive entry to executePendingTransactions. 一些研究使我得出结论,系统无法在另一个片段中显示片段, ..

如何知道我的应用程序何时被杀死?

我需要知道用户何时终止了我的应用程序(强制停止).我一直在阅读 android 生命周期,它具有 onStop() 和 onDestroy() 函数,这些与用户在我的应用程序上结束的每个活动有关,但与当用户强制停止或终止我的应用时. 有没有办法知道用户何时杀死了应用程序? 解决方案 无法确定进程何时终止.来自 如何检测 android 应用程序是否被强制停止或已卸载? 当用户或 ..
发布时间:2021-11-27 18:34:08 移动开发

为什么要使用 Fragment#setRetainInstance(boolean)?

我发现 Fragment#setRetainInstance(true) 令人困惑.这是从 Android 开发者 API 中提取的 Javadoc::> public void setRetainInstance(布尔保留) 控制是否在 Activity 重新创建期间保留片段实例(例如来自配置更改).这只能用于不在后堆栈中的片段.如果设置,则重新创建 Activity 时片段生命周期会略 ..
发布时间:2021-11-27 18:33:46 移动开发

我什么时候可以先测量视图?

所以我在尝试设置视图显示的背景可绘制时有点困惑.代码依赖于知道视图的高度,所以我不能从 onCreate() 或 onResume() 调用它,因为 getHeight() 返回 0. onResume() 似乎是我能得到的最接近的.我应该在哪里放置如下代码,以便在向用户显示时背景会发生变化? TextView tv = (TextView)findViewById(R.id.image_te ..
发布时间:2021-11-27 18:33:36 移动开发

Android 静态对象生命周期

我正在创建事件搜索应用程序,我们从一个屏幕设置搜索条件并填充到另一个屏幕,然后用户可以从第 3 个屏幕编辑搜索条件并转到第 4 个屏幕. 为了完成上述任务,我使用了静态对象,它记住了应用程序周围的值,我不需要做任何额外的事情. 但我担心如果内存不足,android 中的静态对象生命周期是否会被 android 删除静态对象??? 由于android支持多任务,如果用户切换到另一个 ..
发布时间:2021-11-27 18:33:25 移动开发

注销时,清除活动历史堆栈,防止“返回"用于打开仅登录活动的按钮

我的应用程序中的所有活动都需要用户登录才能查看.用户几乎可以从任何活动中注销.这是应用程序的要求.在任何时候,如果用户注销,我想将用户发送到登录 Activity.在这一点上,我希望此活动位于历史堆栈的底部,以便按“后退"按钮将用户返回到 Android 的主屏幕. 我在几个不同的地方看到过这个问题,所有答案都相似(我在此处概述),但我想在这里提出它以收集反馈. 我尝试通过将其 Int ..
发布时间:2021-11-27 18:33:17 移动开发

当我的应用程序进入后台时,如何防止 Android 截屏?

我目前正在构建的应用程序要求该应用程序必须防止操作系统在出于安全原因将其推送到后台时截取该应用程序的屏幕截图.这样在应用之间切换时就看不到最后一个活动屏幕了. 我打算将此功能放在应用程序类的 onPause 方法中,但首先我需要找出如何实现此功能. 那么有没有人知道如何解决这个问题? 解决方案 尝试 FLAG_SECURE: public class FlagSecureTe ..
发布时间:2021-11-27 18:33:05 移动开发

onActivityCreated 弃用:如何使用 NavigationComponent 添加片段作为 MainActivity 的观察者

我刚刚看到 onActivityCreated() 将来会被弃用.我尝试实现 LifecycleOwner 和 LifecycleObserver 模式,但我不太确定我在这里做什么. 我正在使用 NavigationComponent,这意味着: 我有一个 MainActivity 我有一个 MainFragment,实例化为 home 片段 我有多个可以从此主片段访问的片段 ..
发布时间:2021-11-27 18:20:29 移动开发

来自 Fragment 的 DialogFrag#show() 抛出“IllegalStateException:在 onSaveInstanceState 之后无法执行此操作";

为了清楚起见,我已经阅读了关于“IllegalStateException: Can not perform this action after onSaveInstanceState"的十几个顶级 SO 问题,并且我已经阅读了 Alex Lockwood 关于该问题的博文 http://www.androiddesignpatterns.com/2013/08/fragment-transact ..

方向改变后Android DialogFragment消失

我有一个 FragmentActivity 支持 v4 类,它实现了两个并排的(有点像 gmail)片段和一个可以调出 DialogFragment 的按钮. 除非我改变方向,否则这一切都很好.当我更改方向时,不会保存片段的状态. 主要问题是如果我打开了 FragmentDialog,它就会消失. 我已经在所有片段中设置了 setRetainInstance(true); 但它没 ..

从 onContextItemSelected 显示的 DialogFragment 在 onPause/onResume 中不存在

我有一个 DialogDragment,我可以通过以下两种方式之一显示: 1) 通过从其 OnItemClickListener 中点击 ListView 项 2) 通过激活 ListView 的上下文菜单并选择菜单项 在所有生命周期事件下执行 #1 都可以正常工作,但如果我通过 #2 调用它并暂停活动(通过返回主页)并通过任务切换器恢复活动,则不再显示该对话框.片段在那里,我可 ..

访问广播接收器中的应用程序类

我想在广播接收器中检查互联网连接;并将结果(布尔标志)设置为全局变量,以在整个应用程序中使用它,在 if 条件下;如果互联网断开连接,请将主活动中的状态图像视图设置为红色图像,如果已连接,则将其设置为绿色. 我关注了这个主题.但是广播接收器中没有getApplication();我应该使用 getApplicationContext() 代替. 另一方面,这个主题: 在广播接收器 ..

ExoPlayer 恢复时恢复状态

我已经实现了播放器,现在出现了问题.当视频正在播放时,如果应用程序关闭并恢复,视频屏幕会冻结.我什至看到了来自 Google 的 ExoPlayer Demo Activity 以便更好地理解,但我无法通过它在我的应用程序中实现.我在此处附加了播放器活动,对于完整代码,我正在共享 GitHub 存储库以获取所使用的完整文件集. RecipeStepDetailFragment.java p ..

当片段寻呼机适配器的片段出现在屏幕上时,将调用哪个生命周期回调?

我想检测我使用 ViewPager 设置的三个片段中的特定片段何时出现在屏幕上.我在 viewpager 中有 3 个片段,并使用 设置了 viewpager mViewPager.setOffscreenPageLimit(2); 所以所有三个片段都是一次构建的(因为它在每一侧存储 2 个).我检查了 Fragment.onResume() 只被调用一次,而不是在每个片段出现时调用.是否有 ..

为什么只调用第一个活动的“onDestroy",而不调用其他活动?

(我搜索了很多,但似乎没有确切的答案.) 假设有一个应用程序.我们可以按下一个按钮来启动另一个活动. 像这样:Activity1 ->活动 2 ->Activity3 如果我们使用“后退"按钮,它会调用finish(),因此每个活动的onDestroy() 都会被调用. 但是,如果我们关闭应用程序(通过按下“概览"按钮然后将应用程序滑出), 只有 Activity1 ..
发布时间:2021-11-02 23:03:43 移动开发