GoogleMaps - 调用onPause()(GoogleMaps - calling onPause())

我想知道:使用Google Maps v2时,mapView应该调用

mapView.onPause()

在onPause()中。

但是,应该在mapView.onPause()之前或之后调用super.onPause()吗? 它应该是这样的:

@Override          
public void onPause()
{
   super.onPause();
   mapView.onPause();
}

或者像这样:

@Override          
public void onPause()
{

   mapView.onPause();
   super.onPause();
}

? 两者似乎都有效(编译器和运行应用程序时没有错误),但正确的用法是什么?


I was wondering: When using Google Maps v2, the mapView should call

mapView.onPause()

in onPause().

Should however super.onPause() be called before mapView.onPause(), or afterwards? Should it be like this:

@Override          
public void onPause()
{
   super.onPause();
   mapView.onPause();
}

or like this:

@Override          
public void onPause()
{

   mapView.onPause();
   super.onPause();
}

? Both seem to work (no errors in the compiler nor while running the app), but what is the correct usage?


原文:https://stackoverflow.com/questions/23544296
2021-09-09 16:09

满意答案

去后者。 在onCreate()onStart()onResume()等方法上调用super优先,在代码可以使用它之前初始化所有对象内部,而在onPause()onDestroy()首先清理你的东西然后调用super来让超类做它的工作,否则你的代码可能会尝试依赖super清洁完成后不再可用的东西。


Go for the latter. On methods onCreate(), onStart(), onResume() etc. call super first, to init all object internals before you code may use it, while on onPause(), onDestroy() first cleanup your stuff then call super to let superclass do its job too, otherwise your code may try to depend on stuff that is no longer available after super cleaning completed.

相关问答

更多

OnPause和OnStop()在开始活动后立即调用(OnPause and OnStop() called immediately after starting activity)

让我们了解为什么生命周期方法被多次调用。 以下是ActivityThread中记录的一条重要代码注释,它负责执行应用程序进程的活动。 我们通过正常的启动来完成这项工作(因为活动期望在第一次运行onResume()时,在他们的窗口显示之前),然后暂停它。 在onResume之后,将活动窗口附加到窗口管理器,并调用onAttachedtoWindow 。 如果屏幕处于打开状态,则活动窗口将onWindowFocusChanged焦点,并使用true参数调用onWindowFocusChanged 。 ...

在调用onPause()之前,活动是否会暂停?(Does an activity become paused before calling onPause()?)

活动从来自callActivityOnPause Instrumentation类暂停,非常简单: /** * Perform calling of an activity's {@link Activity#onPause} method. The * default implementation simply calls through to that method. * * @param activity The activity being paused. */ public...

在方向更改期间,onPause中的活动调用完成崩溃(Activity calling finish in onPause crashes during orientation change)

只是在黑暗中拍摄,但你在onPause实现中调用super.onPause()吗? Just a shot in the dark here, but are you calling super.onPause() in your onPause implementation?

将onPause作为常规函数调用?(Calling onPause as a regular function?)

是的,你可以在OnPause()添加它,但它的好方法是添加一些方法并在OnPause()中调用它,这样你也可以从其他点调用save,你也不会受到限制。 void SavingCode() { // my Saving code here } @Override protected void onPause() { SavingCode(); super.onPause(); } Yes you can add ...

Android在父类中调用onPause(Android stop onPause from being called in parent class)

使用Proguard assumenosideeffects选项来消除SearchFragment中对releaseRecognizer()方法的调用。 这将要求您在启用Proguard的情况下编译代码,但由于在某些特定情况下调用了相关代码,因此您可能只在发布版本中使用Proguard。 注意,您必须启用优化( 不能设置dontoptimize选项),因为从assumenosideeffects剥离通过assumenosideeffects调用方法是一种“优化”。 确保使用此答案中的建议将Prog...

ViewPager调用onPause()onResume()(ViewPager calls onPause() onResume())

默认情况下, viewPager只在每个内存中保留一个片段..就像这样: mViewPager.setOffscreenPageLimit(1); 你可以增加这个数字,但要小心,你可以很容易地耗尽内存.. By default, the viewPager only keep in memory one fragment in each side.. is like this: mViewPager.setOffscreenPageLimit(1); You can increase that...

在模拟器中重新启动活动时未调用OnPause()(OnPause() not called when relaunch activity in emulator)

当您通过eclipse启动应用程序时,它将有效地从已经在设备或模拟器上运行的同一应用程序的任何实例中删除地毯。 这在实践中永远不会发生,只有从eclipse运行时才会发生。 因此,您可以计划onPause()始终被调用。 When you start the application via eclipse, it will effectively rip the rug out from any instance of the same app already running on the dev...

GoogleMaps - 调用onPause()(GoogleMaps - calling onPause())

去后者。 在onCreate() , onStart() , onResume()等方法上调用super优先,在代码可以使用它之前初始化所有对象内部,而在onPause() , onDestroy()首先清理你的东西然后调用super来让超类做它的工作,否则你的代码可能会尝试依赖super清洁完成后不再可用的东西。 Go for the latter. On methods onCreate(), onStart(), onResume() etc. call super first, to in...

NFC意图在onNewIntent之前调用onPause - 如何知道onPause调用的来源?(NFC intent calling onPause before onNewIntent - How to know the origin of the onPause call?)

不,在将它传递给onNewIntent()活动之前,您将无法知道新的意图是什么。 这就是onNewIntent()回调的onNewIntent() :向您的活动提供有关新意图的信息。 只有在调用此方法时,您才可以通过该方法的intent参数获取新的intent: @Override protected void onNewIntent(Intent intent) { ... } 请注意,除非使用setIntent(newintent)显式更新该意图,否则getIntent()将始终返回...

保持片段不在ViewPager中调用onPause(Keep fragments from calling onPause in ViewPager)

使用FragmentPagerAdapter,您可以在ViewPager上的onCreate(Bundle savedInstanceState)方法中添加以下内容,如下所示: ViewPager mViewPager = (ViewPager) findViewById(R.id.myViewPager); mViewPager.setOffScreenPageLimit(2); 这将使您的碎片保持完整。 祝好运。 Using FragmentPagerAdapter you can add ...

相关文章

更多

Android完美多语言应用,不重启应用,不改变系统语言

使用系统设置中的API会改变系统的语言,在onpause等去改变语言,效果不是太好。 另外下面的方法只 ...

怎么在java里面调用jruby类

大家是怎么用jruby的啊? 找了很久都没有java调用jruby的文章 难道不这样用的? ja ...

报警-Oceanus编码调用

报警扫描周期是 Oceanus 内置的参数,不对外提供。两种方式实现: 1 实现 com.bj58.o ...

getMethod方法调用疑惑

Employee是一个类,getName和raiseSalary是该类中的方法,现在通过Class类的 ...

solr安装以及php调用

背景:项目中需要将原有的sphinx搜索引擎换成solr,以下是通过参照网络内容后,从搭建到调用的一次 ...

Scala函数定义与调用

定义一个函数的格式是def 函数名([参数名[:参数类型][,参数名[:参数类型]......]])[ ...

solr的java调用

SolrJ的使用 SolrJ覆盖了solr的全部功能,下面将自己在实际开发中所使用的程序粘贴出来并适 ...

使用.net调用Solr

1. using System; using System.Collections.Generic; ...

hibernate 调用存储过程的问题

问题如下 public Account queryByaccount1(String account ...

初始化-Oceanus编码调用

首先调用 Oceanus 初始化方法,加载配置进行各项的初始化: Oceanus.init(&quot ...

最新问答

更多

在可观察字段Knocout中显示$符号(Display $ sign in observable fields Knocout)

文档中有一个示例,它在“真实”数字值之上使用ko.pureComputed图层: this.price = ko.observable(25.99); this.formattedPrice = ko.pureComputed({ read: function () { return '$' + this.price().toFixed(2); }, write: function (value) { // Strip out unwan

全局和设备功能之间的差异(Difference between global and device functions)

全局函数也称为“内核”。 这是您可以使用CUDA内核调用语义( <<<...>>> )从主机端调用的函数。 设备功能只能从其他设备或全局功能调用。 __device__函数无法从主机代码调用。 Global functions are also called "kernels". It's the functions that you may call from the host side using CUDA kernel call semantics (<<<...>>>). Device

ARM,MCU,DSP,FPGA,SOC各是什么?区别是什么

1. ARM:ARM处理器是Acorn有限公司面向低预算市场设计的第一款RISC微处理器。全称为Acorn RISC Machine。ARM处理器本身是32位设计,但也配备16位指令集,一般来讲比等价32位代码节省达35%,却能保留32位系统的所有优势。 2. MCU:微控制单元(Microcontroller Unit;MCU) ,又称单片微型计算机(Single Chip Microcomputer )或者单片机,是把中央处理器(Central Process Unit;CPU)的频率与规格

Facebook JavaScript SDK登录(Facebook JavaScript SDK Login)

以下代码中出现“Log is undefined”错误: function onStatus(response) { Log.info('onStatus', response); if (response.session) { showAccountInfo(); } else { showLoginButton(); } } FB.getLoginStatus(function(response) { onStatus(response); // once on page

会计实操有没有用,北京哪家会计培训最好?

会计实操学了肯定是有用的呀,因为你光考个证只是你找工作的一个必备的证件,但是实操就是很扎实的做账功底了。你学了会计实操就能轻松上岗。给你推荐一个以专业教会计实操为主的会计培训学校吧---仁和会计培训学校。现在也在北京开了分校。建议你可以上网搜索一下,北京仁和会计。就能找到他们,可以了解一下课程的。

字段列表错误中的MySQL未知列(MySQL Unknown column in fieldlist error)

你不能在整个查询中调用mysql_real_escape_string ; 你必须分别在每个变量上调用它。 例: // THIS IS AN EXAMPLE ONLY -- NOT A BEST PRACTICE! $sql = "INSERT INTO `locations`(`id`,`anchor_url`,`anchor_title`) VALUES ". "(1, '".mysql_real_escape_string('http://...')."', ".

在DOM深层获取评论节点(Get comment nodes in DOM deep level)

您可以将TreeWalker与whatToShow设置为NodeFilter.SHOW_ALL一起使用,以查看文档中的所有节点。 var treeWalker = document.createTreeWalker( document.body, NodeFilter.SHOW_ALL, null, false ); var commentList = []; while (treeWalker.nextNode()){ // keep only co

2015年的会计上岗证培训那里好,在西安

在西安的话,还是大众会计学校比较好,都已经办学23年了,小班教学,包学包会

将long lat转换为google maps long lat(converting long lat to google maps long lat)

输入数据的小数部分(例如.8157)不是秒; 它是小数分钟。 所以它应该是: 北纬52度,42.8157分钟或52.7136度 The decimal part of your input data (e.g. .8157) is not seconds; it is decimal minutes. So it should be: latitude 52 degrees, 42.8157 minutes or 52.7136 degrees

XSD xs:列表混乱(XSD xs:list confusion)

如果使用xs:list那么如果使用代码生成器,它将被解析并公开为集合/数组数据结构。 如果您只使用由空格分隔的字符串,那么它将作为常规字符串公开,您将负责解析。 区别仅在于您使用基于xsd的代码生成器。 如果使用SAX或DOM等低级api进行语法分析,则没有区别。 Actually, the class QXmlQuery does exactly what I wanted. Its method bool QXmlQuery::evaluateTo ( QStringList * targe