草庐IT

馊主意

全部标签

android - 为什么调用 Process.killProcess(Process.myPid()) 是个坏主意?

我读过一些帖子说使用这种方法“不好”,不应该使用,它不是“关闭”应用程序的正确方法,它不是Android的工作方式......我理解并接受这样一个事实,即Android操作系统比我更清楚何时终止进程的正确时间,但我还没有听到很好的解释说明为什么使用killProcess()是错误的方法。毕竟-它是AndroidAPI的一部分。我所知道的是,在其他线程正在执行潜在的重要工作(文件操作、写入数据库、HTTP请求、运行服务..)时调用此方法会导致线程被终止,这显然不好。另外,我知道我可以从“重新打开”应用程序会更快的事实中受益,因为系统从上次使用应用程序时仍然“保持”在内存状态,并且kill

android - 为什么调用 Process.killProcess(Process.myPid()) 是个坏主意?

我读过一些帖子说使用这种方法“不好”,不应该使用,它不是“关闭”应用程序的正确方法,它不是Android的工作方式......我理解并接受这样一个事实,即Android操作系统比我更清楚何时终止进程的正确时间,但我还没有听到很好的解释说明为什么使用killProcess()是错误的方法。毕竟-它是AndroidAPI的一部分。我所知道的是,在其他线程正在执行潜在的重要工作(文件操作、写入数据库、HTTP请求、运行服务..)时调用此方法会导致线程被终止,这显然不好。另外,我知道我可以从“重新打开”应用程序会更快的事实中受益,因为系统从上次使用应用程序时仍然“保持”在内存状态,并且kill

android - 在 Android 中启动新 Activity 后调用 finish() 是个好主意吗?

喜欢:startActivity(intent);finish();不显式调用finish(),前一个Activity不会调用onDestroy(),我的内存(OutOfMemoryException)用完了。那么,显式调用finish()来防止OutOfMemory异常是个好主意吗? 最佳答案 当您启动一个新Activity时,当前Activity被插入当前任务的后栈。(您可以通过标志和/或list更改此行为,但这是默认行为。)当用户按下后退功能时,顶部Activity完成并弹出堆栈。结果是用户看到应用返回到上一个Activity

android - 在 Android 中启动新 Activity 后调用 finish() 是个好主意吗?

喜欢:startActivity(intent);finish();不显式调用finish(),前一个Activity不会调用onDestroy(),我的内存(OutOfMemoryException)用完了。那么,显式调用finish()来防止OutOfMemory异常是个好主意吗? 最佳答案 当您启动一个新Activity时,当前Activity被插入当前任务的后栈。(您可以通过标志和/或list更改此行为,但这是默认行为。)当用户按下后退功能时,顶部Activity完成并弹出堆栈。结果是用户看到应用返回到上一个Activity

c++ - 堆分配的成员引用是一个糟糕的主意吗?为什么?

为了最好地解释这个问题,我构建了一个简单的例子。假设我有一个类Blob如下:classBlob{stringpersonalName;string&familyName;}Blob可以由Creator(又名Programmer)生成,此时它可以选择一个personalName,并且因为它具有成为1st的特权生成Blob,它可以选择自己的familyName。或者,Blob可以通过生成现有Blob来创建,此时它会选择自己的personalName,但共享一个familyName与已在该系列中克隆的所有其他Blob。如果一个Blob更改了家族名称,则所有其他家族成员都会自动更改该名称。到目

c++ - 堆分配的成员引用是一个糟糕的主意吗?为什么?

为了最好地解释这个问题,我构建了一个简单的例子。假设我有一个类Blob如下:classBlob{stringpersonalName;string&familyName;}Blob可以由Creator(又名Programmer)生成,此时它可以选择一个personalName,并且因为它具有成为1st的特权生成Blob,它可以选择自己的familyName。或者,Blob可以通过生成现有Blob来创建,此时它会选择自己的personalName,但共享一个familyName与已在该系列中克隆的所有其他Blob。如果一个Blob更改了家族名称,则所有其他家族成员都会自动更改该名称。到目

c++ - 在哪种情况下 if(a=b) 是个好主意?

这个问题在这里已经有了答案:关闭12年前.PossibleDuplicate:Inadvertentuseof=insteadof==C++编译器通过您编写的警告告知您,if(a=b){//...而且你肯定想写的可能是一个错误:if(a==b){//...但是是否存在应该忽略警告的情况,因为这是使用此“功能”的好方法?我看不出任何代码清晰的原因,那么它是否有用? 最佳答案 两个可能的原因:分配和检查=运算符(未覆盖时)通常返回它分配的值。这是为了允许诸如a=b=c=3之类的语句。根据您的问题,它还允许您执行以下操作:boolglob

c++ - 在哪种情况下 if(a=b) 是个好主意?

这个问题在这里已经有了答案:关闭12年前.PossibleDuplicate:Inadvertentuseof=insteadof==C++编译器通过您编写的警告告知您,if(a=b){//...而且你肯定想写的可能是一个错误:if(a==b){//...但是是否存在应该忽略警告的情况,因为这是使用此“功能”的好方法?我看不出任何代码清晰的原因,那么它是否有用? 最佳答案 两个可能的原因:分配和检查=运算符(未覆盖时)通常返回它分配的值。这是为了允许诸如a=b=c=3之类的语句。根据您的问题,它还允许您执行以下操作:boolglob

c++ - "delete this"是个坏主意吗?

这个问题在这里已经有了答案:关闭11年前.PossibleDuplicate:Isitsafetodeletethis?我一直在做一些工作,该类旨在充当链表中的节点,我想我应该为该类提供自己的删除功能,而不是由管理类执行。所以基本上是这样的:voidClass::Delete(){//Somecleanupcodebeforedeletingtheobjectdeletethis;}现在我已经对此进行了测试,它似乎工作正常,但我过去遇到过一个问题,即对象一直处于运行代码的中间,被删除,然后显然通过尝试使用不再存在的对象。由于“删除这个”就在函数的末尾,它显然退出了函数并且工作正常,但是

c++ - "delete this"是个坏主意吗?

这个问题在这里已经有了答案:关闭11年前.PossibleDuplicate:Isitsafetodeletethis?我一直在做一些工作,该类旨在充当链表中的节点,我想我应该为该类提供自己的删除功能,而不是由管理类执行。所以基本上是这样的:voidClass::Delete(){//Somecleanupcodebeforedeletingtheobjectdeletethis;}现在我已经对此进行了测试,它似乎工作正常,但我过去遇到过一个问题,即对象一直处于运行代码的中间,被删除,然后显然通过尝试使用不再存在的对象。由于“删除这个”就在函数的末尾,它显然退出了函数并且工作正常,但是