Questions tagged «lifecycle»

与某些程序或其组件(活动,库,servlet)的创建,启动,失活,恢复,关闭和销毁(清除)相关的一系列事件或系统调用。各种编程平台均支持生命周期。



16
如何检索视图的尺寸?
我有一个观点TableLayout, TableRow and TextView。我希望它看起来像一个网格。我需要获取此网格的高度和宽度。这些方法getHeight()和getWidth()总是返回0。这发生在我和动态也格式化网格时我使用XML版本。 如何检索视图的尺寸? 这是我在Debug中用于检查结果的测试程序: import android.app.Activity; import android.os.Bundle; import android.widget.TableLayout; import android.widget.TextView; public class appwig extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.maindemo); //<- includes the grid called "board" int vh = 0; int vw = 0; //Test-1 used the xml layout (which is displayed …

2
onNewIntent()生命周期和注册的侦听器
我正在使用singleTop活动来通过接收来自搜索对话框的意图onNewIntent()。 我注意到的是onPause()在调用之前onNewIntent(),然后调用它onResume()。视觉上: 搜索对话框启动 向活动触发搜索意图 onPause() onNewIntent() onResume() 问题是我在中注册了侦听器,但onResume()已将其删除onPause(),但在onNewIntent()通话中需要它们。有没有使这些监听器可用的标准方法?

3
如何使用生命周期方法getDerivedStateFromProps而不是componentWillReceiveProps
看起来它将componentWillReceiveProps在即将发布的版本中完全淘汰,取而代之的是新的生命周期方法getDerivedStateFromProps:static getDerivedStateFromProps()。 经过检查,看来您现在无法在this.props和之间进行直接比较nextProps,就像您可以在componentWillReceiveProps。有没有办法解决? 而且,它现在返回一个对象。我是否正确假设返回值本质上是this.setState? 以下是我在网上找到的示例:状态源自props / state。 之前 class ExampleComponent extends React.Component { state = { derivedData: computeDerivedState(this.props) }; componentWillReceiveProps(nextProps) { if (this.props.someValue !== nextProps.someValue) { this.setState({ derivedData: computeDerivedState(nextProps) }); } } } 后 class ExampleComponent extends React.Component { // Initialize state in constructor, // Or with a property initializer. …

1
什么决定了Dagger 2中组件(对象图)的生命周期?
我试图把头放在Dagger 2的范围内,特别是范围图的生命周期。如何创建离开示波器时将要清理的组件。 对于Android应用程序,通常使用Dagger 1.x在应用程序级别具有根作用域,并将其扩展以在活动级别创建子作用域。 public class MyActivity { private ObjectGraph mGraph; public void onCreate() { mGraph = ((MyApp) getApplicationContext()) .getObjectGraph() .plus(new ActivityModule()) .inject(this); } public void onDestroy() { mGraph = null; } } 只要您保留对子作用域的引用,该子作用域就一直存在,在这种情况下,这就是您的Activity的生命周期。将引用放在onDestroy中可确保范围图可以自由进行垃圾收集。 编辑 杰西·威尔逊(Jesse Wilson)最近发布了一个小窍门 Dagger 1.0严重破坏了其作用域名称... @Singleton批注用于根图和自定义图,因此要弄清楚事物的实际作用域是非常棘手的。 我已阅读/听到的所有其他内容都指向Dagger 2,以改善示波器的工作方式,但我仍在努力理解差异。根据下面的@Kirill Boyarshinov的评论,像往常一样,组件或依赖项的生命周期仍由具体引用来确定。那么Dagger 1.x和2.0范围之间的区别纯粹是语义上的清楚吗? 我的理解 匕首1.x 依赖关系是否@Singleton存在。根图和子图中的依赖项也同样如此,从而导致该依赖项绑定到哪个图上的模棱两可(请参阅Dagger中子图内的Singleton被缓存,或者在创建新的活动子图时总会重新创建它们)是建造的?) 匕首2.0 自定义范围允许您创建在语义上清晰的范围,但在功能上等同于@Singleton在Dagger 1.x中应用。 …
134 java  dagger-2  lifecycle 


11
片段生命周期-在显示/隐藏时调用哪种方法?
我正在使用以下方法通过显示/隐藏片段在片段之间(在我的NavigationDrawer中)进行切换。 protected void showFragment(int container, Fragment fragment, String tag, String lastTag, boolean addToBackStack ) { FragmentManager fragmentManager = getSupportFragmentManager(); FragmentTransaction transaction = fragmentManager.beginTransaction(); if ( lastTag != null && !lastTag.equals("")) { Fragment lastFragment = fragmentManager.findFragmentByTag( lastTag ); if ( lastFragment != null ) { transaction.hide( lastFragment ); } } if …

10
Android应用内存不足的问题-尝试了一切,但仍然很茫然
我花了整整4天的时间竭尽所能找出我正在开发的应用程序中的内存泄漏,但是很久以前事情就没有了。 我正在开发的应用具有社交性质,因此请考虑对活动(P)进行配置,并列出带有数据的活动-例如徽章(B)。您可以从个人资料跳到徽章列表,其他个人资料,其他列表等。 因此,假设像这样的流程P1-> B1-> P2-> B2-> P3-> B3,等等。为了保持一致,我正在加载同一用户的配置文件和徽章,因此每个P页面都是相同的,因此每个B页。 问题的基本要点是:在导航了一段时间之后,根据每个页面的大小,我在随机的位置(位图,字符串等)收到了内存不足的异常,这似乎并不一致。 在尽一切可能找出导致内存不足的原因之后,我什么都没想到。我不明白的是,如果Android在加载时内存不足而崩溃,为什么Android不会杀死P1,B1等。如果我曾经通过onCreate()和onRestoreInstanceState()返回到这些早期活动,我希望它们会死掉并复活。 更不用说了-即使我执行P1-> B1->后退-> B1->后退-> B1,我仍然会崩溃。这表明存在某种内存泄漏,但是即使在转储hprof并使用MAT和JProfiler之后,我也无法查明。 我已禁止从网络上加载图像(并增加了加载的测试数据来弥补它并使测试公平),并确保图像缓存使用SoftReferences。Android实际上试图释放它拥有的一些SoftReference,但要在它崩溃到内存不足之前。 徽章页面从Web获取数据,将其从BaseAdapter加载到EntityData数组中,然后将其提供给ListView(我实际上是在使用CommonsWare的出色MergeAdapter,但是在此Badge活动中,无论如何实际上只有1个适配器,但是我想以任何一种方式提及这个事实)。 我遍历了代码,却找不到任何可能泄漏的内容。我清除并清空了所有可以找到的内容,甚至将System.gc()左右移走,但应用程序仍然崩溃。 我仍然不明白为什么堆栈中不活动的活动不会获得收益,我真的很想弄清楚这一点。 在这一点上,我正在寻找任何提示,建议,解决方案……任何可能有用的方法。 谢谢。

4
iPhone应用程序的生命周期是什么?[关闭]
从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案能得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 谁能解释一下iPhone的生命周期过程?即从应用程序生命周期的开始到结束。
85 ios  lifecycle 

2
Android视图生命周期是否有任何图形表示(状态图)?[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow的主题。 3年前关闭。 改善这个问题 我们都知道Android Activity的生命周期和Fragment的生命周期。但是视图有什么等效的东西吗? 例如,这可以帮助建立自定义视图或深入了解Android上非常常见且经常隐藏的图形操作。 提前致谢 !

7
Android:在什么情况下出现对话框会导致onPause()被调用?
Android Activities文档中的一个片段(向下滚动到“前台寿命”行)说: 活动可能会频繁地进入和退出前台,例如,onPause()当设备进入睡眠状态或出现对话框时,就会调用该活动。 我不太明白。在什么情况下会发生这种情况?被onPause()称为仅如果有问题的对话的上下文是从顶部其活性的对话框将显示不同? 编辑:添加代码示例以详细说明我的疑问 按照文档中的上述引用,onPause()当显示以下代码中的AlertDialog(或仅显示Dialog)我的活动的方法是否应该被调用?显示对话框时,我是否应该看到“ onPause named”日志条目? 但我看不到这种情况。如果我正确理解了Android的生命周期,那么也不应该!那么,当时的文件指向什么呢? public class LifeCycleTestActivity extends Activity { private static final String TAG = "LifeCycleTest"; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button btn = (Button) findViewById(R.id.button1); btn.setOnClickListener(new OnClickListener() { @Override public void …

2
Android片段onCreateView与onActivityCreated
我知道片段的视图层次结构必须在onCreateView中进行夸大,但是onCreateView中可以有哪些其他功能,而onActivityCreated应该等待什么呢?我当前的实现对所有内容使用单独的活动,一个典型的活动在其onCreate方法中完成其大部分工作,包括扩大视图,设置内容视图,使用数据初始化各种小部件,设置侦听器等。 那么,是否可以将所有这些都移到onCreateView中,还是应该将某些函数放入onActivityCreated方法中?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.