java - 在后台加载图像、视频
问题描述
我正在尝试制作一个将显示一些图像和视频的应用程序。所以我打算添加一个大约 2 秒的启动画面。2 秒后,用户将被带到应用程序的主屏幕。
我想在用户位于启动屏幕本身时开始加载图像、视频,以便用户在主屏幕时等待最少的时间。
因此加载将在启动画面开始,然后在两秒后用户将被带到主屏幕,而不管加载是否完成。现在,由于这涉及两个活动,我应该使用异步任务还是应该使用带有异步任务的服务(用于代码完成的回调)?
哪一个会更好。同样在 Android 8.0 中,使用服务是否有任何限制?
我认为如果编码不正确,在两个屏幕之间使用异步任务可能会导致内存泄漏。
任何帮助将不胜感激。
编辑:我的应用程序还有一项功能,因此不能让用户在启动画面中等待,直到加载结束。
解决方案
使用 AsyncTask 在 2 个 Activity 之间共享结果不是很好,因为在 Splash Activity 中创建的 AsyncTack 在切换到 Main Activity 时会被破坏(停止)。在这种情况下最好使用服务,主屏幕将订阅结果。
推荐阅读
- javascript - 如何在输入标签的 id 中使用此关键字并更改值 onclick() 事件
- android-studio - 错误:无法解析错误字符串 - 为什么会这样?
- javascript - 如何在reactjs中使用带有文件堆栈的api将原始文件作为formdata发布?
- sql-server - 执行 2 个位于 2 个变量中的查询并将结果存储在其他 2 个变量中
- javascript - 通过 javascript 文件将 HTML 输入值解析为 php
- html - 如何在不冲突的情况下将两个 div 彼此相邻对齐?
- java - 我的 for 循环中没有代码正在运行 - Java 8 SE
- regex - 搜索词后的 Regx 唯一数字
- swift - 如何在 Swift 中使用查询项解析 URL # 片段
- c# - 如何在 WCF 中序列化对象类型?