PathClassLoader
public class PathClassLoader
extends BaseDexClassLoader
提供一个简单的ClassLoader
实现,该实现对本地文件系统中的文件和目录列表进行操作,但不尝试从网络加载类。 Android使用此类作为其系统类加载器和其应用程序类加载器。
Summary
Inherited methods |
From class dalvik.system.BaseDexClassLoader
|
From class java.lang.ClassLoader
void |
clearAssertionStatus() 将此类加载器的默认断言状态设置为 false,并放弃与类加载器关联的所有程序包默认值或类断言状态设置。 |
final Class<?> |
defineClass(String name, byte[] b, int off, int len, ProtectionDomain protectionDomain) 使用可选的 ProtectionDomain将字节数组转换为类 Class的实例。 |
final Class<?> |
defineClass(String name, ByteBuffer b, ProtectionDomain protectionDomain) 使用可选的 ProtectionDomain将 ByteBuffer 转换为类 Class的实例。 |
final Class<?> |
defineClass(byte[] b, int off, int len) 此方法在API级别1中已被弃用。替换为defineClass(String, byte[], int, int) |
final Class<?> |
defineClass(String name, byte[] b, int off, int len) 将字节数组转换为类 Class的实例。 |
软件包 |
definePackage(String name, String specTitle, String specVersion, String specVendor, String implTitle, String implVersion, String implVendor, URL sealBase) 在此 ClassLoader中按名称定义一个包。 |
Class<?> |
findClass(String name) 找到具有指定的 binary name的类。 |
String |
findLibrary(String libname) 返回本机库的绝对路径名称。 |
final Class<?> |
findLoadedClass(String name) 返回给定类 binary name如果装载机已记录由Java虚拟机作为与一类的初始化加载器 binary name 。 |
URL |
findResource(String name) 查找具有给定名称的资源。 |
Enumeration<URL> |
findResources(String name) 返回表示具有给定名称的所有资源的 URL 对象的枚举。 |
final Class<?> |
findSystemClass(String name) 找到具有指定的 binary name的课程 ,并在必要时加载它。 |
软件包 |
getPackage(String name) 返回已由此类加载器或其任何祖先定义的 软件包 。 |
Package[] |
getPackages() 返回由此类加载器及其祖先定义的所有 Packages 。 |
final ClassLoader |
getParent() 返回委托的父类加载器。 |
URL |
getResource(String name) 查找具有给定名称的资源。 |
InputStream |
getResourceAsStream(String name) 返回读取指定资源的输入流。 |
Enumeration<URL> |
getResources(String name) 查找具有给定名称的所有资源。 |
static ClassLoader |
getSystemClassLoader() 返回委托的系统类加载器。 |
static URL |
getSystemResource(String name) 从用于加载类的搜索路径中查找指定名称的资源。 |
static InputStream |
getSystemResourceAsStream(String name) 打开阅读,从用于加载类的搜索路径中指定名称的资源。 |
static Enumeration<URL> |
getSystemResources(String name) 从用于加载类的搜索路径中查找指定名称的所有资源。 |
Class<?> |
loadClass(String name, boolean resolve) 使用指定的 binary name加载课程。 |
Class<?> |
loadClass(String name) 使用指定的 binary name加载课程。 |
static boolean |
registerAsParallelCapable() 将调用者注册为并行能力。 |
final void |
resolveClass(Class<?> c) 链接指定的类。 |
void |
setClassAssertionStatus(String className, boolean enabled) 在此类加载器及其中包含的任何嵌套类中,为指定的顶级类设置所需的断言状态。 |
void |
setDefaultAssertionStatus(boolean enabled) 设置此类加载器的默认断言状态。 |
void |
setPackageAssertionStatus(String packageName, boolean enabled) 设置命名包的包默认断言状态。 |
final void |
setSigners(Class<?> c, Object[] signers) 设置类的签名者。 |
|
From class java.lang.Object
|
Public constructors
PathClassLoader
PathClassLoader (String dexPath,
ClassLoader parent)
创建一个运行在给定文件和目录列表上的PathClassLoader
。 此方法等同于使用null
值为第二个参数调用PathClassLoader(String, String, ClassLoader)
(请参阅此处的说明)。
Parameters |
dexPath |
String : the list of jar/apk files containing classes and resources, delimited by File.pathSeparator , which defaults to ":" on Android |
parent |
ClassLoader : the parent class loader |
PathClassLoader
PathClassLoader (String dexPath,
String librarySearchPath,
ClassLoader parent)
创建一个PathClassLoader
,它在两个给定的文件和目录列表上运行。 第一个列表的条目应该是以下之一:
- JAR/ZIP/APK files, possibly containing a "classes.dex" file as well as arbitrary resources.
- Raw ".dex" files (not inside a zip file).
The entries of the second list should be directories containing native library files.
Parameters |
dexPath |
String : the list of jar/apk files containing classes and resources, delimited by File.pathSeparator , which defaults to ":" on Android |
librarySearchPath |
String : the list of directories containing native libraries, delimited by File.pathSeparator ; may be null |
parent |
ClassLoader : the parent class loader |