android 4.0.3 webview 加载 带柱状图的html 时候只显示一半,这种情况只在4.0.3上有发生,请教原因
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android 4.0.3 webview 加载 带柱状图的html 时候只显示一半,这种情况只在4.0.3上有发生,请教原因相关的知识,希望对你有一定的参考价值。
参考技术A 这种,调用javascript,别给我电脑上的代码,我写的在电脑上行了,放到android......webview 需要设置enablejavascript(true)即允许webview执行javascript ... 参考技术B webview 需要设置enablejavascript(true)即允许webview执行javascript追问这个我已经设置了
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setPluginsEnabled(true);
mWebView.loadUrl("file:///android_asset/resellerCount.html");
只是到 android3.1上能正常运行 只是到了 android 4.0.3的时候才出现显示不全
Android 逆向类加载器 ClassLoader ( 加载 Android 组件的类加载器 | 双亲委派机制实例分析 )
一、加载 Android 组件的类加载器
打印 Activity 组件类 的 类加载器 及 该 类加载器 的 父类类加载器 :
package com.example.classloader_demo;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
public class MainActivity extends AppCompatActivity
private static final String TAG = "MainActivity";
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 获取当前 Activity 的 类加载器 ClassLoader
ClassLoader classLoader = MainActivity.class.getClassLoader();
// 打印当前 Activity 的 ClassLoader 类加载器
Log.i(TAG, "MainActivity ClassLoader : " + classLoader);
// 获取 类加载器 父类
ClassLoader parentClassLoader = classLoader.getParent();
// 打印当前 Activity 的 ClassLoader 类加载器 的父类
Log.i(TAG, "MainActivity Parent ClassLoader : " + parentClassLoader);
执行结果 :
日志打印结果 :
2021-12-07 19:03:19.295 15050-15050/com.example.classloader_demo
I/MainActivity: MainActivity ClassLoader :
dalvik.system.PathClassLoader
[DexPathList[
[zip file "/data/app/com.example.classloader_demo-
wBls1CbThiHbSEKLGKgS7w==/base.apk"],
nativeLibraryDirectories=[/data/app/com.example.classloader_demo-
wBls1CbThiHbSEKLGKgS7w==/lib/arm64, /system/lib64]]]
2021-12-07 19:03:19.295 15050-15050/com.example.classloader_demo
I/MainActivity: MainActivity Parent ClassLoader :
java.lang.BootClassLoader@3d6cf66
完整日志 :
2021-12-07 19:03:19.295 15050-15050/com.example.classloader_demo I/MainActivity: MainActivity ClassLoader : dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.example.classloader_demo-wBls1CbThiHbSEKLGKgS7w==/base.apk"],nativeLibraryDirectories=[/data/app/com.example.classloader_demo-wBls1CbThiHbSEKLGKgS7w==/lib/arm64, /system/lib64]]]
2021-12-07 19:03:19.295 15050-15050/com.example.classloader_demo I/MainActivity: MainActivity Parent ClassLoader : java.lang.BootClassLoader@3d6cf66
二、加载 Android 组件的类的双亲委派机制实例
Activity 类加载分析 :
Activity 组件类的类加载器是 dalvik.system.PathClassLoader
,
dalvik.system.PathClassLoader
类加载器的 父类节点是 java.lang.BootClassLoader
类加载器 ,
java.lang.BootClassLoader
是根节点的 类加载器 ;
双亲委派机制 :
在双亲委派机制中 , 类加载任务 , 先被分配给 PathClassLoader
, PathClassLoader
不处理 , 将任务委派给父类节点 BootClassLoader
;
BootClassLoader
是根节点的类加载器 , 其尝试加载 Activity
类 , 发现加载不了 , 没有这个能力 , 然后 BootClassLoader
将任务 委派给子节点 PathClassLoader
, PathClassLoader
尝试加载 Activity 类 , 加载成功 , 返回该类 ;
以上是关于android 4.0.3 webview 加载 带柱状图的html 时候只显示一半,这种情况只在4.0.3上有发生,请教原因的主要内容,如果未能解决你的问题,请参考以下文章
Android webview html5 视频自动播放在 android 4.0.3 上不起作用
android中webview 怎么实现网页加载时显示加载进度?
android中webview 怎么实现网页加载时显示加载进度