Android 无尽列表内存管理

2024-01-08

我通过在 onScrollStateChanged(...) 方法中将更多项目加载到数组列表来实现无限列表视图。如果我实现这个方案来获取超过 100 万个条目,我将向数组列表添加一百万个对象,这是内存密集型的。我可以使用哪些方案来实现高效的内存管理?

PS:问题是关于适配器中可以放入的物品数量。 编辑:

更多细节:

数据来源为互联网。我必须从互联网获取数据并将其放入列表视图适配器中。


我认为你应该只保留当前条目以及它们之前或之后的条目(也许是 100 个),并将这些数据放入缓存中。

当您滚动列表视图时,像以前一样获取更多条目并更新缓存(不要一次获取 100 万个)。

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

Android 无尽列表内存管理 的相关文章

  • Android 通知 - 显示完整消息

    我的 Android 应用程序必须能够向一大群人发送简短的警报 执行此操作的明显位置是在通知中心 完整的通知毫无问题地显示在股票代码中 但在通知中心 用户只能看到前几个单词 然后是省略号 通知并不长 最多也就10 15个字 如何使文本自动换
  • 使用 Android WebViewClient 启用特定 SSL 协议

    我的应用程序使用WebViewClient与服务器建立 SSL 连接 服务器配置为仅接受 TLSv1 1 及以上协议 使用 Android 时 如何检查哪些 SSL 协议是 a 支持的和 b 默认启用的WebViewClient在设备上 如
  • 无法实例化接收器 com.parse.GcmBroadcastReceiver

    我正在编写一个使用 GCM 通知和解析推送的离子应用程序 这个应用程序正在使用这些插件 com ionic keyboard 1 0 3 Keyboard com phonegap plugins PushPlugin 2 4 0 Push
  • 在 Samsung Galaxy S 上调用 RingTonePreference 时出现 NullPointerException

    在 Samsung Galaxy 上调用 RingTonePreference 时 我收到以下消息 在其他手机上一切正常 java lang RuntimeException Unable to start activity Compone
  • 对齐卡片视图中的项目

    我希望我的卡片如下所示 我保持这样的布局
  • 请求超级用户权限编辑文件

    我正在规划一个需要编辑系统文件的应用程序 我只能使用 root 权限编辑该文件 我有一个已 root 且安装了 Superuser apk 的开发手机 其他需要 root 的应用程序会在首次启动时请求 root 访问权限 我想做同样的事情
  • 如何在默认浏览器或webview中打开按钮点击url

    我怎样才能打开一个网址webview或者点击按钮后在默认浏览器中 目前 当我单击btn1按钮 它提示我从手机中选择一个浏览器 我想在默认浏览器或其他浏览器中打开此网址webview 这是我的java代码 public class myact
  • AdMob 插页式广告仅显示一次

    当广告在一个会话内第二次或第三次打开时 LogCat 会显示错误消息 尝试使用不同的广告管理器启动新的 AdActivity 我通过应用程序主屏幕的 on resume 方法中的意图启动插页式广告 Override public void
  • Flutter - 选择 TextFormField 时键盘不显示

    我目前遇到一个问题 当我选择任何一个时 键盘不会出现TextFormFielda 内的小部件Form小部件 这是表单的代码 位于我的内部CreateAccountForm有状态的小部件 import package flutter mate
  • Kotlin Room 数据库单例模式

    我正在尝试创建单人房间数据库 我找到了两种解决方案 但我不知道它们之间有什么区别 根据这个文件 companion object Volatile private var INSTANCE AppDatabase null fun getI
  • Android 中的垂直和水平滚动视图

    我真的很累了寻找垂直和水平滚动视图的解决方案 我读到框架中没有任何视图 布局实现此功能 但我需要这样的东西 我需要在其他布局中定义一个布局 子布局必须实现垂直 水平滚动才能移动 最初实现了一个逐像素移动布局的代码 但我认为这不是正确的方法
  • eclipse - 在android虚拟设备中卡住中文

    当我在 Eclipse 中运行 Android 模拟器时 当我尝试编写文本时 所有键盘字符都会被翻译为中文 为什么是这样 Thanks 点击并按住EditText Select 输入法 Select 安卓键盘
  • 单击输入字段会触发窗口调整大小

    我有一个带有徽标 菜单和搜索的标题 当我在桌面上时 我会按该顺序显示所有元素 但如果我的窗口宽度小于 980 像素 菜单会隐藏 有一个切换按钮 并且徽标会与nav并附在徽标之后 如果宽度更大 则徽标将再次分离并附加到 DOM 中的旧位置 w
  • 带动画的 ScrollTo(0,250) Android ScrollView

    当我滚动到 0 250 时 我想在滚动动作中包含一个动画 我做了这段代码 但它没有根据动画滚动 scrollMe 是滚动小部件 id ObjectAnimator anim ObjectAnimator ofInt scrollMe tra
  • Phonegap facebook 插件:android 的各种问题

    我正在尝试将 Phonegap 3 1 与 Phonegap facebook plugin 集成 以使我的应用程序能够使用 facebook 登录 https github com phonegap phonegap facebook p
  • 查找配对的 Android 蓝牙设备是否在范围内的正确方法?

    我想编写一个充当蓝牙客户端的应用程序 我想做的是找出最好的方法来确定我支持的特定设备是否在范围内 而不是一直尝试在其上执行 BluetoothDevice connect 并失败如果不在范围内 这里我们假设设备已经配对 恐怕在特定设备处于范
  • Google Cloud Messaging - 立即收到或长时间延迟收到的消息

    我在大学最后一年的项目中使用谷歌云消息传递 一切正常 但我在使用 GCM 时遇到了一些麻烦 通常 消息要么几乎立即传递 要么有很大的延迟 我读过这篇文章 但我真的认为它不适用于这种情况 GCM 通常会在消息发送后立即传送消息 然而 这并不总
  • Fragment 的 onSaveInstanceState() 永远不会被调用

    我试图将数据保存在片段的 onSaveInstanceState 中 但该方法从未被调用 有人可以帮忙吗 public class MyFragment extends Fragment Override public View onCre
  • 如何检测用户是否禁用 GPS(Android - Play 服务)

    我使用 gms location LocationListener Google Play 服务 来获取用户的位置 它工作正常 但我想检测用户何时禁用或启用他 她的 GPS 就像这张照片一样 当我打开 关闭位置时 不会调用任何方法 当我切换
  • Libgdx 和 Google 应用内购买结果

    我遵循了这些指示 https github com libgdx libgdx wiki Interfacing with platform specific code使用 ActionResolver 接口集成 Libgdx 和原生 An

随机推荐

  • 在 Azure 数据工厂副本中使用追加 blob 是否有任何解决方法?

    我不希望 ADF 管道中的复制数据活动覆盖 Blob 文件 而是将新数据附加到其中 但 ADF 仅支持 Blockblob 那么有没有办法将数据追加到现有文件中 您可以使用网络活动 https learn microsoft com en
  • 标题/标头位于文章标签之外的布局的最佳 HTML5 结构

    我有一个布局 可以让我选择 将侧边栏包含在文章标签中 即使它不是特定于文章的 标题位于文章标签之外 目前 我的标题位于文章标签之外 但验证器告诉我 itemprop headline 不属于任何项目 构建这个结构的最佳方法是什么 有没有fo
  • 如何在 C# 中使用 HttpClient 读取 webapi 响应

    我开发了一个小型 webapi 它有一些操作并返回我的自定义类 名为Response The Response class public class Response bool IsSuccess false string Message
  • Python Kolmogorov-Smirnov 拟合优度检验中的 p 值非常低

    我有一组数据 并通过对数正态分布拟合相应的直方图 我首先计算对数正态函数的最佳参数 然后绘制直方图和对数正态函数 这给出了相当好的结果 import scipy as sp import numpy as np import matplot
  • 组合多个 Node.js Web 应用程序

    我正在努力找出实现这一目标的最佳方法 本质上 我有大约 6 个网站需要上网 但目前它们的流量几乎为零 因此为了节省资金 它们需要部署在同一台服务器上 理想情况下我们将使用 AWS 的 Elastic BeanStalk 有没有一种方法可以像
  • WEB API Action Method 的返回类型应该是什么?

    我正在使用 NET Core 开发 ASP NET Web API 该Web API将主要由UI应用程序访问 UI将使用ASP NET Core MVC开发 但将来API也可能被其他应用程序访问 在我的 WEB API 中 所有方法都是异步
  • Socket.io 发出进度检查

    我使用 Socket io 来上传文件 它适用于以下架构 客户端 从输入读取文件并将其编码为 Base64 并压缩 客户端 发出 Socket io 事件 上传 包括压 缩文件作为数据片段 服务器 监听 上传 事件 解压缩并解码文件并保存
  • PDOException 找不到驱动程序

    我正在使用 symfony 当我在控制台中输入以下内容时 php app console doctrine schema create 我有接下来的错误 学说 DBAL 异常 DriverException 驱动程序出现异常 找不到驱动程序
  • 使用多个分隔符并保留每个分隔符有效地分割字符串?

    我需要使用每个字符来分割数据字符串string punctuation and string whitespace作为分隔符 此外 我需要将分隔符保留在输出列表中 位于它们在字符串中分隔的项目之间 例如 Now is the winter
  • 如何显示接口方法的所有实现实例?

    在我的项目中 使用了大量的接口类 我在阅读和理解代码时遇到困难 因为浏览代码的定义 通过选择方法名称并按 F12 或右键单击 转到定义 只会引导我进入界面 Visual Studio 2010 中是否有一种方法 内置或插件 可以列出接口方法
  • Vagrant:缺少文件 id_rsa

    我正在使用带有 homestead 的 Windows 并且尝试在命令行上输入 vagrant up 但出现此错误 C www Homestead scripts homestead rb 106 inread No such file o
  • 使用Qt4捕获多个屏幕桌面图像

    我正在用 C 在 Qt4 中编写屏幕捕获应用程序 我在双屏上调整时遇到问题 我无法使用第二个屏幕获取图像 我尝试了一个 C 应用程序 它将抓取一个图像中的所有桌面 我可以从那里提取每个屏幕桌面图像 这是c 代码 using System u
  • 链接 pthread 库问题

    我面临着一个解释和理解可能稍微复杂的问题 因为给出整个图片太大且困难 请原谅 考虑以下 Makefile all clients so simulator backup LD PRELOAD home Juggler client clie
  • Gradle 工具 api 获取任务输出

    借助 Gradle 工具 API 我成功获得了一些项目的任务列表GradleProject getTasks 这有点酷 我可以读取任务的名称 描述 组以及是否公开 我想知道是否有可能获得任务输出目录 特别是对于测试或代码覆盖率的内容 即生成
  • 服务器上的自动化 django 接收钩子:用“yes”响应collectstatic

    我正在使用 Github post recieve hook 来运行一个 bash 文件来提取我的两个存储库 bin sh cd public html repo static env i usr bin git pull origin m
  • 如何将 gradle 多项目存储库作为 git 子模块包含在另一个 gradle 项目中

    我正在尝试将 Gradle 多项目存储库作为 git 子模块导入到另一个 Gradle 项目中 这是多项目存储库的结构 MyLibrary lib api api config api repository lib impl impl co
  • Angular Dart 教程第 5 节 - 'self.injector$Injector'

    在 英雄之旅 教程的第 5 节中 main dart包含以下行 最终 InjectorFactory 注入器 self injector Injector 这是拼写错误吗 它在 VSCode 中向我发出警告 我遇到了同样的问题 因为它完成没
  • “存在(从...中选择 1)”这一做法从何而来?

    The 绝大多数人支持 https stackoverflow com questions 424212 performance of sql exists usage variants我个人认为以下说法没有区别 SELECT FROM t
  • MongoDB.service 失败,结果退出代码

    我无法使用命令 sudo systemctl start mongod 启动 mongoDB 我收到以下消息 mongod service MongoDB Database Server Loaded loaded lib systemd
  • Android 无尽列表内存管理

    我通过在 onScrollStateChanged 方法中将更多项目加载到数组列表来实现无限列表视图 如果我实现这个方案来获取超过 100 万个条目 我将向数组列表添加一百万个对象 这是内存密集型的 我可以使用哪些方案来实现高效的内存管理