在Android中,我可以使用什么线程方法读取长文本文件?

在Android中,我可以使用什么线程方法读取长文本文件?,android,multithreading,performance,android-asynctask,Android,Multithreading,Performance,Android Asynctask,我必须制作一个应用程序,在其中我必须显示地图(我使用的是Osmdroid)并读取包含地理坐标列表的文本文件。我必须读取一对经纬度并在地图上显示,一秒钟后读取下一对经纬度并在地图上显示,以此类推 我想用线程读取文件,但是我发现我不能用线程中的用户界面做任何事情,所以我想我无法在地图上显示位置 然后我发现使用AsyncTask我可以修改用户界面,但文档中说它是用于短任务的,我想做的事情可能需要很多分钟 在AsyncTask文档中说,如果需要让线程长时间运行,强烈建议您使用java.util.conc

我必须制作一个应用程序,在其中我必须显示地图(我使用的是Osmdroid)并读取包含地理坐标列表的文本文件。我必须读取一对经纬度并在地图上显示,一秒钟后读取下一对经纬度并在地图上显示,以此类推

我想用
线程
读取文件,但是我发现我不能用
线程
中的用户界面做任何事情,所以我想我无法在地图上显示位置

然后我发现使用
AsyncTask
我可以修改用户界面,但文档中说它是用于短任务的,我想做的事情可能需要很多分钟


AsyncTask
文档中说,如果需要让线程长时间运行,强烈建议您使用java.util.concurrent包提供的各种API,如Executor、ThreadPoolExecutor和FutureTask,但我不知道何时使用这些类,以及它们中是否有一个(或任何其他)类将帮助我做我想做的:读取一行文本文件并在地图上显示位置。

您可以使用
AsyncTask
类在后台加载数据并轻松更新UI 或者尝试使用
加载程序
,它比
异步任务
阅读此链接并在youtube上搜索AsyncTask或Loader

请参见位于


阅读官方文档,您可以使用
AsyncTask
类在后台加载数据并轻松更新UI 或者尝试使用
加载程序
,它比
异步任务
阅读此链接并在youtube上搜索AsyncTask或Loader

请参见位于


阅读官方文档,如果您从另一个线程获取数据,可能是使用
AsyncTask
,那么您将负责通过各种活动或片段生命周期事件管理线程和UI线程,例如
ondestory()
和配置更改
使用

如果您从另一个线程获取数据,可能是使用AsyncTask,那么您负责通过各种活动或片段生命周期事件管理线程和UI线程,例如
onDestroy()
和配置更改
使用

我建议您使用RxJava。只要几行代码就可以解决您的问题。而且,您不必担心线程和延迟间隔计算。这里有一个例子,所以我有一个问题。我知道情况不一样,但也许它能给你一个主意。我建议你使用RxJava。只要几行代码就可以解决您的问题。而且,您不必担心线程和延迟间隔计算。这里有一个例子,所以我有一个问题。我知道情况不一样,但也许它能给你一个想法。