android添加java.lang.management API

现在我的Android不支持库存在问题。 实际上它不支持这个API:“java.lang.management”。 Eclipse向我显示了这个错误:

10-25 17:53:03.460:java.lang.NoClassDefFoundError:java.lang.management.ManagementFactory。

我想知道如何添加这个API以供我的Android应用程序支持。

请帮忙。

该API不是Android的一部分,与Android不兼容。

java.lang.management API用于管理和监视Java VM。 Android的Dalvik VM不是Java VM。

似乎在Android版本23中,情况略有改善。 例如,我发现了一个替代品:

 GarbageCollectorMXBean gb = .... long gctime = gb.getCollectionTime(); 

感谢@Jacob,我现在正在使用此代码。 首先, getRuntimeStat()方法并非在所有Android版本中都可用。 所以我先做一些反思:

 static { try { Class debugClass = Debug.class; getRuntimeStat = debugClass.getDeclaredMethod( "getRuntimeStat", String.class); } catch (NoSuchMethodException x) { getRuntimeStat = null; } } 

然后,检索GC时间是调用方法句柄,具有正确的属性名称。 我目前正在使用此属性名称:

 String gctimestr; try { gctimestr = (String) (getRuntimeStat != null ? getRuntimeStat.invoke(null, "art.gc.gc-time") : null); } catch (IllegalAccessException e) { gctimestr = null; } catch (InvocationTargetException e) { gctimestr = null; } 

然后,如果gctimestr非空,则可以将其转换为long值。 另一方面,如果它的null为统计数据不可用,则通过此API。