sax,script包在android中的效率 – Android移動開發技術文章_手機開發 Android移動開發教學課程

 

調試模式下的SAX和script

效率巨慢,而運行模式下,好很多,大概快5-10倍。

 

另外script包會編譯一個print方法,這個過程耗時很多,嚴重影響效率

去掉並做些優化後

500條腳本,執行從1s縮減到200ms

 

代碼精簡如下:

 

RhinoScriptEngine.java

    Scriptable getRuntimeScope(ScriptContext ctxt) {

        if (ctxt == null) {

            throw new NullPointerException("null script context");

        }

 

        // we create a scope for the given ScriptContext

        Scriptable newScope = new ExternalScriptable(ctxt, indexedProps);

 

        // Set the prototype of newScope to be 'topLevel' so that

        // JavaScript standard objects are visible from the scope.

        newScope.setPrototype(topLevel);

 

        // define "context" variable in the new scope

        newScope.put("context", newScope, ctxt);

 

        // define "print", "println" functions in the new scope

        //去掉下面幾行

//        Context cx = enterContext();

//        try {

//            cx.evaluateString(newScope, printSource, "print", 1, null);

//        } finally {

//            cx.exit();

//        }

        return newScope;

    }

You May Also Like