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()? 的相关文章

  • jquery-mobile 加载到 android WebView 中

    我无法将 jquerymobile 装饰的网页加载到 Android WebView 中 考虑 jquery 移动演示站点 http jquerymobile com demos 1 0a4 1 http jquerymobile com
  • 新的 Material Design 底部导航应使用哪个视图? [复制]

    这个问题在这里已经有答案了 我相信你们都听说过添加底部导航 https www google com design spec components bottom navigation html材料设计指南 我计划将其添加到我的应用程序中 但
  • 移动网站 Facebook 使用 Facebook App 登录以获取登录详细信息

    使用网络浏览器 例如Android 上的 Chrome 如果移动网站要求用户登录 Facebook 而用户没有登录 则即使手机可能通过 Facebook 本机应用程序登录 Facebook 浏览器也会要求用户提供登录详细信息 有没有什么方法
  • android 网格视图从右到左放置项目

    我正在开发一个 Android 应用程序阿拉伯文版本 在其中一个界面中 我有 gridView 因此 要以正确的顺序显示项目 我必须从右到左显示 GridView 中的项目 当然是从上到下 为此 我尝试在 GridView 中添加这些属性
  • 有没有办法有一个屏蔽数字输入字段?

    我正在 Android 上创建一个 HTML5 应用程序 对于这个特定场景 我们有一个用于信用卡安全代码的输入字段 我们希望强制输入字段仅包含数字并被屏蔽 我没有运气搜索这个特定的案例 从我自己研究 尝试中可以看出 这不能纯粹通过 HTML
  • 我应该使用什么事件在 Firebase Analytics 上发送“按钮按下”事件

    我发现最合适的是选择内容 https firebase google com docs reference android com google firebase analytics FirebaseAnalytics Event html
  • android中.so文件的实际用途是什么? [复制]

    这个问题在这里已经有答案了 我想在我的应用程序中实现类似聊天的环聊 我一直在使用 opentok 库 我在其中看到了 libopentok so 文件 谁能告诉我 libopentok so 文件的确切用法是什么 在Android中 我们可
  • 错误:java.lang.NoClassDefFoundError Android

    我正在关注这个创建滑动选项卡的教程 http www truiton com 2015 06 android tabs example fragments viewpager 但我收到上述错误 我的 gradle 依赖结构 dependen
  • Android - 如何获取文本视图中字符的坐标

    是否可以从 Android 中的 TextView 中的字符获取 x 坐标 我不是在寻找 TextView 本身的坐标 我需要 TextView 中最后一个字符的坐标 多行 提前致谢 Java解决方案 以下是如何获得x and y特定字符的
  • Android HTTP-post AsyncHttpClient

    public void postLoginData AsyncHttpClient myClient new AsyncHttpClient RequestParams params1 new RequestParams params1 p
  • 在路径上找不到类:DexPathList?

    当我在 android studio 中使用 USB 在真实设备中测试时 我的应用程序工作正常 但是当我将 apk 发送到另一台设备并在那里安装时 它无法工作 应用程序崩溃了 我没有找到任何正确的方法来解决问题 错误如下 FATAL EXC
  • Eclipse Oxygen - 该项目未构建,因为其构建路径不完整

    我刚刚安装了 Eclipse Oxygen 并尝试在工作台中打开现有项目 但收到此错误 该项目未构建 因为其构建路径不完整 不能 找到 java lang Object 的类文件 修复构建路径然后尝试 建设这个项目 我尝试右键单击该项目 转
  • Facebook 好友请求 - 失踪好友

    我请求从我正在开发的 Android 应用程序中获取用户好友 从 Facebook Api V2 0 开始 我知道我应该只获取已经通过我的应用程序登录的用户好友 但是 尽管我知道用户的某些朋友已通过我的应用程序登录 但在请求该用户的朋友时
  • Android studio 找不到 Theme.AppCompat.Light.DarkActionBar [重复]

    这个问题在这里已经有答案了 我已经导入了一个Android Studio项目来自Github into Android Studio 虽然我的build gradle有dependencies dependencies compile fi
  • Firestore OncompleteListener [重复]

    这个问题在这里已经有答案了 我想看看这段代码的执行有什么错误 当我编译它时 它只返回 log 1 3 2 的值 并且我希望 log2 在 3 之前 Log d 1 antes de validar DocumentReference doc
  • 从前台服务的活动中释放内存

    我有一个带有前台服务和一项活动的应用程序 该服务可以在启动时自行启动 也可以从 Activity 中启动 我注意到当服务在启动时自行启动时 内存使用量约为 3MB 一旦我打开该 Activity 内存使用量就会跃升至约 9mB 一旦 Act
  • 如何在Android 11中获取dir文件列表

    我想编写自己的精简版文件浏览器 文件 API 现在不适用于外部存储 该版本还提供了对范围存储的改进 这使得开发人员可以更轻松地迁移到使用此存储模型 我不明白如何使用范围存储来访问 sdcard 如果您正在寻找文件选择器体验 存储访问框架 h
  • androidx.navigation.fragment.NavHostFragment 无法从 xml 文件访问

    我正在尝试使用带有底部导航视图的 androidx 导航 因此 当我在 xml 文件中放置带有 android name androidx navigation fragment NavHostFragment 的片段时 它会给我一个错误
  • 对于双核手机,availableProcessors() 返回 1

    我最近购买了一部 Moto Atrix 2 手机 当我尝试查看手机中的处理器规格时 Runtime getRuntime availableProcessors 返回 1 proc cpuinfo 也仅包含有关处理器 0 的信息 出于好奇
  • Android - 从渲染线程内结束活动

    下午好 我不熟悉 android 中的活动生命周期 并且一直在尽可能地阅读 但我不知道如何以良好的方式解决以下问题 我有一个使用 GLSurfaceView 的活动来在屏幕上绘制各种内容 在这个 GLSurfaceView 的渲染线程中 我

随机推荐

  • 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 并且从不关心