【Android——主线程繁忙(I/Choreographer: Skipped 38 frames!)】教程文章相关的互联网学习教程文章

java – 在Android中反复执行后台线程的最佳方法?【代码】

我需要不断地从USB读取数据(至少50ms间隔)并同时更新几个View. 使用Handler可以很容易地实现更新View,但由于USB读取执行的工作太多而且不需要触摸UI Thread,因此必须在不同的线程上完成. 我已经阅读了一些关于反复执行AsyncTask的问题like this但如果我错了请纠正我:这似乎不是一个好方法. 在Android中反复执行后台工作的最佳方法是什么?解决方法:如果你需要对经过的时间进行更精细的控制,我建议你用一个循环开始一个单独的线程,...

当线程退出时,为什么我的Android应用程序会崩溃?【代码】

当线程退出时,为什么我的Android应用程序会崩溃? 在logcat中,当我的应用程序崩溃时,我看到以下输出.D/dalvikvm: threadid=13: thread exiting, not yet detached (count=0) D/dalvikvm: threadid=13: thread exiting, not yet detached (count=1) E/dalvikvm: threadid=13: native thread exited without detaching E/dalvikvm: VM aborting我不确定是什么线程导致这个.该应用程序使用带有几个STL线程实例的C库(std :: thread).以...

如何在Java Android中停止一个线程?【代码】

这是我测试应用的代码:public class MainActivity extends Activity {private TextView text;private Button start;private Button stop;private TestThread Points;@Overrideprotected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);text = (TextView) findViewById(R.id.mainTextView1);start = (Button) findViewById(R.id.mainButton1);stop = (Button) findV...

线程中断不起作用(Java Android)【代码】

编辑:see here! 我有一个带有Runnable的线程如下所示.有一个问题,我无法弄清楚:我在线程上调用interrupt()的一半时间(为了停止它)它实际上没有终止(没有捕获InterruptedException).private class DataRunnable implements Runnable {@Overridepublic void run() {Log.d(TAG, "DataRunnable started");while (true) {try {final String currentTemperature = HeatingSystem.get("currentTemperature");mView.post(() -> showData(...

java – Android处理程序,执行post()不在ui线程中【代码】

从一开始我虽然Handler的方法post()和postDelayed()在与UI线程不同的线程中做了一些事情,我决定在它上面创建一个TCP Socket,但它不起作用. 我正在接收NetworkOnMainThreadException. 有没有办法执行不在UI线程中的post()和postDelayed()任务?public class ServerHandler extends Handler {private Socket serverSocket; public ServerHandler(){super(new MyHandlerThread("MyHandlerThread").getLooper()); }@Override public ...

android – Kotlin Coroutines – 嵌套协同程序是在一个协同程序中处理不同线程的正确方法吗?【代码】

我正在尝试使用协程而不是RxJava在基本的网络调用上第一次看到它是什么样的,并遇到滞后/线程的一些问题 在下面的代码中,我正在进行网络调用userRepo.Login(),如果发生异常,我会显示错误消息并停止我在函数开始时启动的进度动画. 如果我将所有内容保留在CommonPool上(或者不添加任何池),它会崩溃,如果发生异常,则必须在looper线程上完成动画.在其他情况下,我收到错误,说这必须在UI线程上完成,同样的问题,不同的线程要求. 我无法在UI...

java – 如何在android中安排一些代码执行或者:android中的守护程序线程究竟是什么?

我目前正在开发一个Android OS的应用程序,它需要不时从远程服务器获取数据. 因为即使实际的前端应用程序没有运行,也应该执行“更新”,我实现了一个在系统启动时启动的远程服务.现在我需要安排一个计时器来开始更新. “计时器”是否适合这项工作?如果“是”:“正常”Timer()和Timer(“真”)作为“守护进程”启动的有什么区别? http://developer.android.com/reference/java/util/Timer.html对此不是很有帮助:( 编辑: 好的 – 我...

java – Android游戏引擎设计:如何同步游戏循环和画布更新线程?

我想重写我在Android上运行的简单游戏引擎,我想知道如何同步两个正在运行的线程.现在我有以下内容: >跑步者是这个游戏的主要活动,切入点;> CanvasView只是一个正在绘制图形的画布;> GameWorld – 顾名思义 – 用于存储有关游戏状态的当前信息的类.现在,我们只说它还包含一个Level.> GameLoop是一个单独的线程,它正在更新游戏状态;> CanvasThread是一个单独的线程,正在运行以在CanvasView上绘制当前的Level. 由于级别只是一个简单...

android – 以编程方式确定代码是否从UI线程执行【代码】

在我的Android应用程序中,我正在提取代码以将UI元素更新为单独的实用程序包以供重用.如果当前执行上下文来自UI线程而非非UI线程,我希望我的代码是主动的并以不同方式更新UI. 是否有可能以编程方式确定当前执行是否发生在UI线程上? 我希望实现的一个简单的例子是 – 我的应用程序一直更新很多TextView.所以,我想有一个像这样的静态实用程序:public static void setTextOnTextView(TextView tv, CharSequence text){tv.setText(tex...

java – 是webRTC原生Android应用程序所需的特定线程模型

首先,我不清楚是否适当引用其他代码的链接,如果是这样的道歉并且想了解对于我引用库的这种情况可能有什么更合适的机制(这些链接主要是作为对相关方的引用而提供的) ). 我们有一个用于android的webrtc本机应用程序,在调用peerconnectionfactory的配置时会遇到困难.当用户选择结束活动会话时,我们有一个清理例程,关闭对等连接,然后处理它(虽然关闭并不是必需的,因为对dispose的调用也会在释放其他资源之前关闭连接 – 例如,例如流和本...

java – Android WifiManager线程永远不会关闭【代码】

执行此行后:WifiManager man = ((WifiManager) ctx.getSystemService(Context.WIFI_SERVICE));将显示标有“WifiManager”的线程.在WifiService.java line 203的Java源文件中:HandlerThread wifiThread = new HandlerThread("WifiService");wifiThread.start();mWifiHandler = new WifiHandler(wifiThread.getLooper());问题是,每次我们的应用程序关闭并重新打开它会创建一个新线程,运行它5次,你有5个线程.不知道是否有任何阻止它...

Android多线程:IntentService用法&源码分析【图】

版权声明:本文为博主原创文章,未经博主允许不得转载,更多请继续关注Carson_Ho https://blog.csdn.net/carson_ho/article/details/53407806 前言多线程的应用在Android开发中是非常常见的,常用方法主要有: 继承Thread类 实现Runnable接口 AsyncTask Handler HandlerThread IntentService 今天,我将全面解析多线程其中一种常见用法:IntentService目录1. 定义 IntentService是Android里面的一个封装类,继承自四大组件之一...

Android多线程:一步步带你源码解析HandlerThread【图】

前言多线程的应用在Android开发中是非常常见的,常用方法主要有: 继承Thread类 实现Runnable接口 Handler AsyncTask HandlerThread IntentService 今天,我将全面解析多线程中 HandlerThread的源码由于本文涉及多线程知识和Handler源码解析,所以阅读本文前建议先看: Android开发:Handler异步通信机制全面解析(包含Looper、Message Queue)目录1. 简介2. 工作原理 内部原理 = Thread类 + Handler类机制,即:通过继承Thread类...

ANDROID-JAVA-单例模式优化&多线程并发【代码】【图】

最近线上遇到了很多莫名其妙的问题,最后发现是因为子线程和主线程同时去初始化单例造成的 我本来的单例是这么写的。像大家这种有脑子的肯定明白问题出在哪里。但是我没有。然后花费了好久的时间才证实,原来多线程会造成多份数据。private DeviceManager() {LogManager.get().getLogger(this.getClass()).info("获取门店基础数据出现异常"!看这里));}public static DeviceManager get() {if (instance == null) {instance = new ...

Android/java多线程(三)-HandlerThread的使用场景及源码解析【代码】

HandlerThread是什么? 点开类楸一眼,这货是这样介绍自己的:* Handy class for starting a new thread that has a looper. The looper can then be * used to create handler classes. Note that start() must still be called.大意是说它是用来启动具有一个内部循环的新线程的一个便利类。 内部循环?同时名称又有Handler又有Thread,看过我这篇文章的同学估计猜到了,这货估计是Handler与Thread的亲儿子无疑了,但是两个好基友哪...