android:什么时候使用onStart()、onStop()?

2023-12-25

我读过几篇描述两者之间区别的帖子onStart() and onResume(): onStart()当活动变得可见时调用,onResume()当活动准备好与用户交互时调用。美好的。

我总是只是添加代码onPause() and onResume(),并且从不关心onStart() and onStop().

谁能举一些具体的例子来说明你可能会做什么onStart(), vs. onResume()?同样适用于onStop() and onPause(), 怎么onStop()有用?我一定在这里遗漏了一些基本的东西。


onStop()将(例如)在您离开该活动进行其他活动时被调用(编辑:几乎。请参阅有关对话框主题活动的公共软件评论)。 例如,如果您使用startActivity()在活动 A 中启动活动 B。当您在活动 B 中按返回键时,您将返回到活动 A 并onStart将被调用。

这与某些原因不同onPause可能会被调用而无需onStop被召唤。例如,如果屏幕超时或按下待机按钮onPause会被调用,但可能不会onStop(取决于可用内存等),所以这是一个“较轻的暂停”。即使在这种情况下,onStop 也可能最终被调用,但不会立即被调用。

好吧,但是有什么用

通常没有特定用途,但也可能有。由于即使您启动其他活动后,您的活动也会将其内存状态保留在堆栈中,因此该堆栈将随着启动的活动数量(堆栈的高度)而增加。 这可能会导致某些应用程序使用大量内存。一段时间后,框架将启动并杀死堆栈上的一些活动,但这是相当生硬的,并且可能意味着返回时要保留很多状态。

所以一个例子用于onStart/onStop就是如果您想在将某个活动留给另一个活动时释放某些状态,并在返回时重新创建它。 我用它来将 listadapters 设置为 null、空图像缓存等(在非常具体的应用程序中)。如果您想释放列表适配器中可见视图使用的内存,您可以在 onstart 中重新创建它,并让 gc 拾取视图。这将增加活动的其余记忆状态继续存在的可能性。

有些资源可以被认为足够好,可以在活动实例处于活动状态时保存,而有些资源仅当它位于堆栈的前面时才被认为足够好。由您决定应用程序中什么是最好的,创建/启动/恢复的粒度可以为您提供这一点。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

android:什么时候使用onStart()、onStop()? 的相关文章

  • 如何使用 WifiEnterpriseConfig 设置“使用系统证书”

    我想为我的应用程序的用户配置企业 WiFi 网络 因此 用户必须输入用户名和密码 其余的由应用程序处理 身份验证由 RADIUS 服务器 FreeRadius 3 处理 该服务器使用 LetsEncrypt 颁发的证书 因此无需导入我自己的
  • 有没有一种方法可以在不使用意图的情况下在活动之间发送数据?

    我有一个对于每个用户来说都是唯一的用户名 我想将其发送到某个活动 但我不想使用意图 create an intent and sends username Intent intent new Intent RegisterOwner thi
  • 在Java中测试服务器是否启动的正确方法?

    简单地查看是否可以建立与网站 服务器的连接的正确方法是什么 我想要这个用于我正在编码的应用程序 如果我的网站离线 它只会提醒我 Thanks 您可以使用 HttpURLConnection 发送请求并检查响应正文中是否有该页面特有的文本 而
  • 如何在android中批量插入sqlite

    我正在使用 SQLiteOpenHelper 进行数据插入 我需要插入2500个id和2500个名字 所以花费了太多时间 请任何人帮助我如何减少插入时间 我们可以一次插入多条记录吗 任何人都可以帮助我 先感谢您 代码 public clas
  • 对话框片段嵌入取决于设备

    在我的应用程序中 用户从联系人或通话记录中选择电话号码 选择联系人非常简单 并且在手机和平 板电脑上都可以很好地工作 i e 在手机上会弹出新的全屏活动 在桌子上我会看到带有联系人列表的漂亮弹出对话框 似乎无法从通话记录中选择电话号码 因此
  • 如何将Android中的cURL发送到REST服务

    我是 android 新手 我想从 REST 服务获取一些数据 但在初始化发送到 REST 服务的方法时遇到一些问题 您知道 REST 服务使用 cURL 来操作一些数据 POST PUT GET DELETE 现在如何在 android
  • 使用Picasso从url保存图像?

    我正在尝试使用 API Picasso 保存图像 为了做到这一点 我正在尝试使用Target保存 但我无法完成这项工作 我怎么能这样做呢 Trying save image public static void imageDownload
  • android.view.InflateException:二进制 XML 文件行 #11:膨胀类 ImageView 时出错

    我只是尝试制作一个小的 android java xml 应用程序来计算游戏的分数 它给了我这个错误 Error inflateing class ImageView 有人知道解决方案吗 我实际上搜索了 ppl 说添加这个 android
  • 我如何从android中的复选框获取值

    我想获取复选框中所选项目的名称 但我只得到一些字母数字 如何从复选框中获取所选项目的名称 public View getView int position View convertView ViewGroup parent View vie
  • Android WebView文件上传

    我正在开发一个 Android 应用程序 基本上它是一个WebView和一个进度条 Facebook 的移动网站 m facebook com 已加载到WebView 当我单击 选择文件 按钮上传图像时 没有任何反应 我已经尝试了所有的解决
  • 数据未刷新“DynamiteModule:未找到 com.google.firebase.auth 的本地模块描述符类”

    我已经使用 Firebase 很长时间了 到目前为止 除了以下场景之外 一切都很好 有时我注意到我的应用程序不再获取新数据 我正在用一个活跃的监听器监听变化 并且我确实有keepSynced set to true 发生这种情况时 我会在日
  • 运行 Android 应用程序时出现错误

    我已经使用 Eclipse 创建了一个 Android 应用程序 但应用程序未在 AVD 上运行 它显示 不幸的是已停止工作 日志猫消息如下 07 29 04 59 50 789 W dalvikvm 784 threadid 1 thre
  • 如何为 flutter 绘图应用实现橡皮擦功能

    有一个关于通过 flutter 创建绘图应用程序的视频 YouTube https www youtube com watch v yyHhloFMNNA 它支持当用户点击屏幕时绘制线 点 但我找不到像 Android 本机那样擦除用户绘制
  • 分离 Fragment 和删除 Fragment 有什么区别?

    在 Android 文档中碎片交易 http developer android com reference android app FragmentTransaction html我注意到两种非常相似的方法 detach and remo
  • 如何从一个活动检索 Double 值到另一活动?

    我制作了一个包含 2 个活动的应用程序 其中第一个活动包含一些 EditText 十进制数字 另一个活动也包含一些 EditText 十进制 现在我想将一个 EditText 的值传递给另一个 但作为 双 而不是作为一个字符串 因为该值将用
  • 如何向开关对象添加/更改波纹效果

    下面是我自定义的开关 红圈是默认的波纹效果 我发现设置一个波纹可绘制作为开关的背景 控制波纹的颜色
  • Android项目中使用java获取电脑的IP地址

    我在用ksoap2 android http code google com p ksoap2 android 我需要使用java获取IP地址 这样我就不必每次都手动输入它 我所说的 IP 地址是指 例如 如果我这样做ipconfig使用命
  • Android - 如何简单地拖放按钮?

    我在这里找到了一个适合初学者的教程 http androidrox wordpress com 2011 05 13 android sample app drag and drop image using touch http andro
  • 在 Qt 中构建 Android 项目不再有效

    所以我对 Android SDK NDK 和 Apache Ant 进行了一些更新 现在我无法构建任何 Android 项目 我收到一条警告 然后它说找不到 build xml 文件 错误 Warning Android platform
  • Android 版本低于 Lollipop 时出现 java.lang.NoClassDefFoundError

    我有一台运行 Android 21 的 Nexus 5 设备 我正在测试我的项目 没有任何问题 但是 如果我使用 Google API 19 在模拟器上进行测试 则会显示错误java lang NoClassDefFoundError 如果

随机推荐

  • CakePHP 3 - 关联未定义 - 尽管它看起来是

    我使用 CakePHP 3 7 烘焙了一个遗留应用程序 数据库包含3张表 如下 regulations groups filters 就应用程序而言 层次结构是 Regulations Groups Filters 表架构如下 mysql
  • 使用 BeautifulSoup 提取第一个子标签之前的文本

    从这个html源 div class category link Category a href category personal Personal a div 我想提取文本Category 这是我使用 Python BeautifulS
  • 如何从 Activity 返回结果(startActivityForResult)到 TabHost Activity?

    我的A类调用startActivityForResult A类是tabactivity的一个选项卡中的activitygroup Intent intent new Intent this ClassB class startActivit
  • 在 Gradle 中,从除一个之外的所有依赖项中排除传递依赖项

    我正在尝试使用 JUnit 测试记录器的行为SLF4J测试 http projects lidalia org uk slf4j test index html 即 SLF4J 的测试实现 它将日志消息存储在内存中并提供检索它们的方法 来自
  • 有没有办法让 f:viewparam 处理值列表?

    假设我已经有一个自定义类之间的转换器Car and String 有没有办法优雅地做到这一点
  • DTO、VO、POJO、JavaBean 之间的区别?

    看到过一些类似的问题 JavaBean 和 POJO 有什么区别 https stackoverflow com questions 1394265 what is the difference between a javabean and
  • laravel 重定向到新选项卡

    我需要在发布请求后打开一个新的 URL 我已经在控制器的末尾完成了此操作 Redirect away url 上面的调用工作完美 但是 我想在新选项卡中打开 URL 我尝试了 Laravel 文档中的方法和预期方法 没有一个按预期工作 Re
  • 如何使用 g++47 允许 -z multidefs

    我如何告诉链接器g 允许符号的多个定义 选择第一个出现 z multidefs 允许多个符号定义 默认情况下 可重定位对象 o 文件 之间出现多个符号定义 将导致致命错误情况 该选项抑制 错误条件并允许采用第一个符号定义 仅当指定 b sv
  • Paypal REST API 自适应/多次付款(更改收款人)

    我刚刚开始关注 PaypalREST api https developer paypal com webapps developer docs api 我似乎看不到的一件事是贝宝通话功能自适应支付 https www x com deve
  • 从java程序打开浏览器获取Google授权以询问已授予的权限

    为了让 java 程序访问我的 google 驱动器 我需要使用 json 凭证文件创建 oauth2 Credential 请参阅https console developers google com https console deve
  • 如何将html id添加到rails form_tag

    我正在使用 Rails 2 2 2 我想将 id 添加到由 form tag 生成的 html 表单代码中 目前生产
  • 嵌套 dokey 宏

    我只是想知道是否有一种方法可以从另一个 doskey 宏中调用一个 doskey 宏 我尝试了以下方法 但它不起作用 gt doskey cleanpix PATH cleanpix bat gt doskey cp cleanpix 我究
  • NativeBase 选项卡强制 RTL 问题 - 修复

    当我执行forceRtl 时 我遇到了本机基本选项卡的问题 一切正常 但只有本机基础在初始加载时不显示任何内容 所以我有一个临时解决方案 在native base src basic Tabs index js中 import I18nMa
  • SSAS 分区切片表达式

    我按最近 13 个月对多维数据集进行分区 然后使用旧分区来保存较早的月份 我已经成功创建了动态分区 但现在我需要为每个分区添加一个动态切片 我想我可以在分区切片表达式中使用它 Dim Date Month CStr Month Now la
  • Java 中的 var 关键字

    对于Java 10或 我们可以使用var关键字进行声明 在初始化时 编译器将推断类型 当我实例化类并将其分配给声明的变量时会发生什么var 是接口的实现吗 将推断哪种类型 接口还是实现 我的2美分来纠正问题和答案 The var is 不是
  • Leetcode 入室抢劫犯

    我正在尝试入室抢劫者 https leetcode com problems house robber leetcode 上的问题 dp 问题 来自一位 GTX 用户的解决方案看起来简单而优雅 int rob vector
  • 以客户身份通过​​ iOS 应用程序登录 BigCommerce API

    我正在为 BigCommerce com 上的商店开发 iOS 应用程序 我已成功从 BigCommerce API 检索产品列表 并且还使用该列表创建了一个新用户 创建用户 https developer bigcommerce com
  • Flutter:自动路由:RouteGuard 在 AutoTabsScaffold 中不起作用

    我正在尝试为我的 AutoTabsScaffold bottom nav 添加身份验证防护 但它不起作用 它可以在其他导航页面中工作 但不仅仅在我的登陆页面内 其中 AutoTabsScaffold 底部导航位于 我在这里遗漏了什么吗 us
  • Apache mod_rewrite 域到子域?

    我有这个地址http www example com http www example com并有这个页面http www example com world http www example com world 我可以用 mod rewr
  • android:什么时候使用onStart()、onStop()?

    我读过几篇描述两者之间区别的帖子onStart and onResume onStart 当活动变得可见时调用 onResume 当活动准备好与用户交互时调用 美好的 我总是只是添加代码onPause and onResume 并且从不关心