android dalvik VM's thread state .

2024-03-11 05:32
文章标签 android vm state thread dalvik

本文主要是介绍android dalvik VM's thread state .,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

I got a  ANR  crash  ,  the  crash thread’s  state is  “MONITOR” which found in file traces_dut7_run3.txt(detail information :

DALVIK THREADS:

"main" prio=5 tid=3 MONITOR

| group="main" sCount=1 dsCount=0 s=N obj=0x40026240 self=0xbda8

| sysTid=26755 nice=0 sched=0/0 cgrp=unknown handle=-1344001376

at com.android.vending.api.RequestManager.reset(RequestManager.java:~273)

).

My question is what meaning the MONITOR state of  java thread ?

 

Only the following state “BLOCKED”, “NEW” , “RUNNABLE” ,”TERMINATED” , “TIMED_WAITING” , “WAITING” ,  not  “MONITOR”  were found   in Thread.java   at   page

 http://developer.android.com/reference/java/lang/Thread.State.html . 

However  the following state  "ZOMBIE", "RUNNABLE", "TIMED_WAIT", "MONITOR", "WAIT", "INITIALIZING", "STARTING", "NATIVE", "VMWAIT"  were found  

in  Thread.c  at page  http://lxr.e2g.org/source/dalvik/vm/Thread.c?a=sparc64#L2845 , but  no detail information  about  the state  in Thread.c   was  found  .

My  other question is  what  the corresponding relationship between  state in Thread.java  and state in Thread.c  at Android platform ?

 

 

ANSWER :

 

 

 

in android dalvik VM , at java.lang.VMThread.java , has following code .

 

 

      92     /**
     93      * Holds a mapping from native Thread statii to Java one. Required for
     94      * translating back the result of getStatus().
     95      */
     96     static final Thread.State[] STATE_MAP = new Thread.State[] {
     97         Thread.State.TERMINATED,     // ZOMBIE
     98         Thread.State.RUNNABLE,       // RUNNING
     99         Thread.State.TIMED_WAITING,  // TIMED_WAIT
    100         Thread.State.BLOCKED,        // MONITOR
    101         Thread.State.WAITING,        // WAIT
    102         Thread.State.NEW,            // INITIALIZING
    103         Thread.State.NEW,            // STARTING
    104         Thread.State.RUNNABLE,       // NATIVE
    105         Thread.State.WAITING         // VMWAIT
    106     };

 

So  MONITOR state  in Thread.c  is  BLOCKED state in Thread.java. They are same constant except name is different.

 

 

这篇关于android dalvik VM's thread state .的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/796795

相关文章

Android实现打开本地pdf文件的两种方式

《Android实现打开本地pdf文件的两种方式》在现代应用中,PDF格式因其跨平台、稳定性好、展示内容一致等特点,在Android平台上,如何高效地打开本地PDF文件,不仅关系到用户体验,也直接影响... 目录一、项目概述二、相关知识2.1 PDF文件基本概述2.2 android 文件访问与存储权限2.

Android Studio 配置国内镜像源的实现步骤

《AndroidStudio配置国内镜像源的实现步骤》本文主要介绍了AndroidStudio配置国内镜像源的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、修改 hosts,解决 SDK 下载失败的问题二、修改 gradle 地址,解决 gradle

鸿蒙中@State的原理使用详解(HarmonyOS 5)

《鸿蒙中@State的原理使用详解(HarmonyOS5)》@State是HarmonyOSArkTS框架中用于管理组件状态的核心装饰器,其核心作用是实现数据驱动UI的响应式编程模式,本文给大家介绍... 目录一、@State在鸿蒙中是做什么的?二、@Spythontate的基本原理1. 依赖关系的收集2.

在Android平台上实现消息推送功能

《在Android平台上实现消息推送功能》随着移动互联网应用的飞速发展,消息推送已成为移动应用中不可或缺的功能,在Android平台上,实现消息推送涉及到服务端的消息发送、客户端的消息接收、通知渠道(... 目录一、项目概述二、相关知识介绍2.1 消息推送的基本原理2.2 Firebase Cloud Me

Android中Dialog的使用详解

《Android中Dialog的使用详解》Dialog(对话框)是Android中常用的UI组件,用于临时显示重要信息或获取用户输入,本文给大家介绍Android中Dialog的使用,感兴趣的朋友一起... 目录android中Dialog的使用详解1. 基本Dialog类型1.1 AlertDialog(

Android Kotlin 高阶函数详解及其在协程中的应用小结

《AndroidKotlin高阶函数详解及其在协程中的应用小结》高阶函数是Kotlin中的一个重要特性,它能够将函数作为一等公民(First-ClassCitizen),使得代码更加简洁、灵活和可... 目录1. 引言2. 什么是高阶函数?3. 高阶函数的基础用法3.1 传递函数作为参数3.2 Lambda

Android自定义Scrollbar的两种实现方式

《Android自定义Scrollbar的两种实现方式》本文介绍两种实现自定义滚动条的方法,分别通过ItemDecoration方案和独立View方案实现滚动条定制化,文章通过代码示例讲解的非常详细,... 目录方案一:ItemDecoration实现(推荐用于RecyclerView)实现原理完整代码实现

Android App安装列表获取方法(实践方案)

《AndroidApp安装列表获取方法(实践方案)》文章介绍了Android11及以上版本获取应用列表的方案调整,包括权限配置、白名单配置和action配置三种方式,并提供了相应的Java和Kotl... 目录前言实现方案         方案概述一、 androidManifest 三种配置方式

Android WebView无法加载H5页面的常见问题和解决方法

《AndroidWebView无法加载H5页面的常见问题和解决方法》AndroidWebView是一种视图组件,使得Android应用能够显示网页内容,它基于Chromium,具备现代浏览器的许多功... 目录1. WebView 简介2. 常见问题3. 网络权限设置4. 启用 JavaScript5. D

Android如何获取当前CPU频率和占用率

《Android如何获取当前CPU频率和占用率》最近在优化App的性能,需要获取当前CPU视频频率和占用率,所以本文小编就来和大家总结一下如何在Android中获取当前CPU频率和占用率吧... 最近在优化 App 的性能,需要获取当前 CPU视频频率和占用率,通过查询资料,大致思路如下:目前没有标准的