草庐IT

OnSaveInstanceState

全部标签

Android - 为什么使用 onSaveInsanceState() 来保存未调用的位图对象?

我正在制作一个简单的绘图应用程序。我希望能够在设备方向改变时保存用户在屏幕上的绘图。这只发生在主要Activity中。我读到,如果方向发生变化,那么Activity将被销毁并再次重新创建(onCreate(Bundlecreated)被调用)。我不确定这是否意味着它也应该调用onSavedInstanceState(Bundlebundle),因为在我的应用程序中,只有当另一个Activity将焦点放在我的主要Activity之上时才会调用它,而不是当旋转到横向/纵向。我只是在寻找一种方法来保存现有位图,并在方向发生变化时将其传递给主要Activity。如果我的onSaveInstan

android - 另一个 Activity 中方向改变的生命周期困境

我在tabhost中有2个Activity。在Activity1中,我处理方向变化以及用户在Activity之间切换的情况。当用户从Activity1切换到Activity2(通过选项卡选择)、执行方向更改,然后切换回Activity1时,问题就开始了。当Activity2可见时,我的Activity1中发生的生命周期事件让我有些迷茫。根据调试器,这是我的Activity1中发生的事件序列:===方向改变===onSaveInstanceState暂停停止onCreate开始onRestoreInstanceStateonResume===切换到Activity2===onSaveIn

android - java.lang.IllegalStateException : Can not perform this action after onSaveInstanceState, FragmentTabHost 问题

MainActivity中有一个FragmentTabHost,并且有五个Fragment添加到这个FragmentTabHost。这是初始化代码protectedvoidonCreate(BundlesavedInstanceState){mFragmentManager=getSupportFragmentManager();mTabHost=(FragmentTabHost)findViewById(android.R.id.tabhost);mTabHost.setup(this,mFragmentManager,android.R.id.tabcontent);//Homem

android - 为什么在 onSaveInstanceState() 中保存非 Parcelable 对象的哈希表有时会起作用?

在阅读了一本介绍性的Android编程书籍后,我想更改示例应用程序以巩固我对一些未真正涵盖的主题的理解。在进行更改时,我犯了一个错误,但我很好奇为什么这个错误在某些情况下有效,而在其他情况下却无效。应用程序中的一个Activity将一系列问题存储在Hashtable中,其中Question是一个包含一个int和两个String的小类。如最初所写,该Activity在每个onCreate()上从服务器下载问题。,所以我想实现onSaveInstanceState()以防止一些冗余下载。onSaveInstanceState()使用putSerializable()将Hashtable保存

java - onSaveInstanceState(Bundle)方法是在onPause()之后调用的吗?

我是android的新手,我读了一本面向初学者的书,其中说onSaveInstanceState(Bundle)确保在系统回收您的Activity之前被调用。我在一些测试代码上试了一下,发现不正确。我发现每次调用onPause()后都会调用onSaveInstanceState(Bundle)。而且与系统回收无关。我不是很确定,所以这就是问题:onSaveInstanceState(Bundle)何时实际调用? 最佳答案 我不同意之前的回答。根据Documentation:Ifcalled,thismethodwilloccurbe

android - 使用 onSaveInstanceState 在 Android 应用程序中保持线程和连接状态?

我正在为Android开发多人游戏应用程序。其中一名参与者充当主持人(创建游戏实例的人),其他每位参与者都使用蓝牙连接到主持人。我的问题如下,该主机有一些线程正在运行以进行通信并保持所有打开的连接。我读过我的Activity可以暂时销毁并在以后恢复,我应该为此使用onSaveInstanceState机制。但是,我说的是一个充当游戏“服务器”的应用程序,它具有为其他客户端服务的开放连接和线程,如果操作系统决定破坏我的Activity,这些连接和线程会发生什么情况?他们被终止了吗?如果是这样,为了正确实现这一点,推荐的模式是什么?如何在onSaveInstanceState包上保持连接?

android - onSaveInstanceState 中的保存接口(interface)(Listener)

保存实例状态对于Integer、Long、String等数据,我只是将其放入bundle中,并在再次调用onCreateView时将其取回。但是我的fragment也有像下面这样的听众,publicclassSomeFragmentextendsFragment{publicinterfaceSomeListener{publicvoidonStartDoingSomething(ObjectwhatItIsDoing,Datewhen);publicvoidonDoneDoingTheThing(ObjectwhatItDid,booleanresult);}privateSomeF

Android Activity 生命周期测试

我有Activity,它可以保存它的数据,以防系统在它处于后台时决定终止它。所以,我有onSaveInstanceState:@OverrideprotectedvoidonSaveInstanceState(BundleoutState){outState.putString("value","some_value");}我在onCreate中检查Bundle对象是否为空:@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);isRestarted=(saved

android - 分离 fragment 不触发 onSaveInstanceState()

我的Android应用程序有一个ActionBar,它可以更改哪个Fragment占据某个FrameLayout。我正在尝试使用onSaveInstanceState在选项卡更改时保存Fragment的状态,以便它可以在onCreateView中恢复。问题是,onSaveInstanceState从未被调用。Fragment的onDestroyView和onCreateView方法被调用,但是Bundle提供给onCreateView保持为空。有人可以向我解释onSaveInstanceState实际调用的时间吗,我如何确保在切换选项卡时调用它,或者保存和恢复fragment状态的最佳

android - 如何使用 onRetainNonConfigurationInstance() 为屏幕方向保存位图?

在我的类View中,手机摄像头将打开,程序会在用户从手机摄像头拍摄照片后显示位图,但同时用户将屏幕旋转到“横向”位图将消失,Activity的oncreate()将再次加载并且然后相机将再次打开。我不知道用onRetainNonConfigurationInstance()或onSaveInstanceState()保存位图。问题是我如何在用户旋转手机之前保存位图(从手机摄像头中获取),这样即使手机处于横向模式,屏幕上也会显示相同的位图?---编辑---添加到AndroidManifest.xml是获取保存状态的好方法吗? 最佳答案