问题标签 [android-thread]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 如何正确处理 Room 线程
我对Room感到困惑,无法在文档中找到答案。
因此,该库强制在单独的线程上使用查询,这是可以理解的。但是,删除查询似乎不包含在此限制中,可以从 UI 线程中自由调用。它们也总是返回一个原始输出值,而没有机会将其包装在 Observable 中。
那么在Room中使用 delete 调用的正确方法是什么?它应该在单独的线程上运行吗?如果不是,那么性能和并发修改呢?
android - 如何在android上调试长监视器争用
我不知道我对使我的应用程序 SUPER SLOW 的代码进行了哪些更改,现在它需要大约两分钟才能启动,但之前需要不到 30 秒。
我刚启动应用程序就收到了数百条这样的消息,但没有完成任何实际工作。
我如何调试和跟踪它的来源?
android - 片段:应用程序可能在其主线程上做了太多工作
我在我的应用程序中使用第三个片段。当我来到 3.fragment 时,我想用蓝牙向其他设备发送消息。但我的日志说:
应用程序可能在其主线程上做了太多工作。
而不是我的 AcceptedThread 锁。所以我的 ConnectedThread 是空的。我不能发送任何东西。我该如何解决?这是我的蓝牙服务代码:
android - 实例化 ProgressDialog 类的更好方法是什么,为什么?
以下是创建进度对话框的示例:
第一种情况:
私有 ProgressDialog 进度对话框;
请注意,这里我有“progressDialog = ProgressDialog.show(MainActivity.this, "Loading", "Please Wait");"
第二种情况:
这里我有“progressDialog = new ProgressDialog(MainActivity.this);”
问题:谁能向我解释一下这两种创建进度对话框的方法?我知道第一个对话框是圆形对话框,第二个是水平进度对话框,但是为什么在第一个示例中我有 "progressDialog = ProgressDialog.show(MainActivity.this, "Loading", "Please Wait")" 而没有 new ProgressDialog()在第二个示例中,我有新的 ProgresDialog()?
android - 在 Thread 上刷新 UI 并更改 Fragment 时出错
所以我在理解(我认为)刷新 UI 的工作原理方面存在问题。我有一个底部导航栏的活动,其中包含 3 个加载片段的项目。每个片段都从互联网加载数据,因此我将这些数据下载到一个线程中,完成后我在 UI 线程上刷新我的 recyclerview。
但问题是当我在导航栏上选择一个项目时,当我立即选择另一个项目时,我的应用程序崩溃,因为数据下载完成并且 UI 线程正在尝试刷新 recyclerview 但我不再在分段
那么我怎样才能避免这种崩溃呢?
这是我的代码:
编辑 :
这是错误日志:
主Activity底部导航条码:
片段代码:
android - 同一个android Activity中的两个Thread.sleep()
也许有人可以告诉我我做错了什么我正在编写一个 Android 应用程序,它将显示 3 个视图,按时间间隔分隔,所以基本思想是;
但不是进行 1000 毫秒的单独停止,活动正在等待 2000 开始,然后同时显示所有视图。我是 android 和 java 开发的新手,如果我在做一件愚蠢的事情,我很抱歉。在此先感谢大家。
android - 如何停止所有服务,线程,卸载android app kill上的库
我想让用户能够选择不同语言的应用程序 UI 和内容的语言。我想用用户选择的新语言从服务器重新加载新的本地化数据。
要使用新的语言设置重新创建应用程序,我计划:
- 将所选语言保存到共享首选项。
- 在我的两个 IntentService 上调用 stopService()。
- 使用此处的答案完全杀死当前正在运行的应用程序:如何以编程方式“重新启动”Android 应用程序?
- 在 MyApplication 启动时,首先检查共享首选项以及它们是否包含新的用户语言 - 然后清除几乎所有在 SharedPreferances、Realm 数据库中的记录。
- 再次启动所有服务,现在它们将转到服务器并使用新的语言首选项获取新数据。
接下来是我想了解的关于应用程序杀戮的内容:
在杀死我当前正在运行的应用程序的那一刻 - 我所有正在运行
Services, Threads, ThreadExecutors, CompositeDisposable, WorkEnqueuer, Runnables, AsyncTasks, Handlers
的线程和(在后台工作)的东西都会System.exit(0)
在被调用 的同时停止吗?这是否意味着当我杀死我的应用程序时,它也会完全立即停止所有与线程相关的东西的工作?我使用的所有库是否都会从内存中卸载,然后在第二次启动时正确重新初始化?像这样的库:
RealmDB, Firebase, Dagger, RxJava2, Retrofit
?下面列出了我在项目中使用的库和服务列表。所有静态变量都会重新初始化吗?
谢谢。
这是我使用的清单和库:
图书馆:
android - 屏幕锁定时Android线程执行减慢
我正在运行此过程以下载一些数据并将它们插入数据库。整个过程大约需要 5 分钟。我注意到在下载过程中,当手机锁屏并在5分钟后打开它时,它仍然会下载。似乎当锁定的下载过程变慢时。有什么解释吗?
按下主页按钮时执行时间也会减慢并成为后台进程,不仅在屏幕锁定时。
谢谢
android - Android 线程和服务优先级
我正在网上阅读有关服务和线程的信息(如果它在 android 的同一个线程中运行,为什么要使用服务),我得出的结论是,一般而言,服务的优先级高于线程。
我有一个应用程序,它使用简单的线程通过静态类执行下载操作,并在 5 分钟内完成。但是当我按下主页按钮并在一段时间后再次打开应用程序时,执行速度变慢了,因为我按下了主页按钮。
我要问的是,如果我使用服务会更快,或者通过按下主页按钮,减慢应用程序或优先级与执行时间无关是正常的?
谢谢你。
android - 即使应用程序关闭,我也想在屏幕上显示 gif 图像
通过鼠标单击,您实现了两件事:
- 声音正在播放
- GIF 图像正在显示
即使关闭正在使用服务的应用程序,我也试图在屏幕上显示 GIF,但由于在出现 GIF 图像时声音一直在播放,我找不到解决方案。
TheService.java (代码)
MainActivity.java (代码)
activity_main.xml