webview&js

JavaScriptCore的经典文章

2019-03-01  本文已影响0人  介和

JSManagedValue:

The primary use case for JSManagedValue is for safely referencing JSValues    from the Objective-C heap. It is incorrect to store a JSValue into an Objective-C heap object, as this can very easily create a reference cycle,    keeping the entire JSContext alive. 

(将 JSValue 转为 JSManagedValue 类型后,可以添加到 JSVirtualMachine 对象中,这样能够保证你在使用过程中 JSValue 对象不会被释放掉,当你不再需要该 JSValue 对象后,从 JSVirtualMachine 中移除该 JSManagedValue 对象,JSValue 对象就会被释放并置空。)

JSVirtualMachine:

All instances of JSContext are associated with a single JSVirtualMachine. The virtual machine provides an "object space" or set of execution resources.

(JSVirtualMachine就是一个用于保存弱引用对象的数组,加入该数组的弱引用对象因为会被该数组 retain,所以保证了使用时不会被释放,当数组里的对象不再需要时,就从数组中移除,没有了引用的对象就会被系统释放。)

http://liuduo.me/2015/10/24/JavaScriptCore%E5%88%9D%E6%8E%A2/

JavaScriptCore 初探

http://lingyuncxb.com/2018/07/19/JavaScriptCore%E5%BC%95%E6%93%8E%E6%B7%B1%E5%BA%A6%E8%A7%A3%E6%9E%90-1-%E5%BC%80%E7%AF%87/

JavaScriptCore引擎深度解析1—开篇

 01-01

JavaScriptCore引擎深度解析5-字节码生成篇(下)

09-15

JavaScriptCore引擎深度解析5-字节码生成篇(中)

08-15

JavaScriptCore引擎深度解析5-字节码生成篇(上)

08-10

JavaScriptCore引擎深度解析4-语法分析篇

08-02

JavaScriptCore引擎深度解析3—词法分析篇

07-30

JavaScriptCore引擎深度解析2—API篇

07-25

JavaScriptCore引擎深度解析1—开篇

上一篇下一篇

猜你喜欢

热点阅读