You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by ac...@apache.org on 2018/01/18 08:34:19 UTC
[03/50] [abbrv] incubator-weex git commit: * [iOS] release jsContext
object
* [iOS] release jsContext object
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/be1c3fcb
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/be1c3fcb
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/be1c3fcb
Branch: refs/heads/master
Commit: be1c3fcb445f62e35a2777fcc4488a083d53e98c
Parents: d9317bf
Author: acton393 <zh...@gmail.com>
Authored: Thu Dec 14 19:12:34 2017 +0800
Committer: acton393 <zh...@gmail.com>
Committed: Wed Dec 20 17:44:28 2017 +0800
----------------------------------------------------------------------
ios/sdk/WeexSDK/Sources/Bridge/WXBridgeContext.m | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/be1c3fcb/ios/sdk/WeexSDK/Sources/Bridge/WXBridgeContext.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Bridge/WXBridgeContext.m b/ios/sdk/WeexSDK/Sources/Bridge/WXBridgeContext.m
index c9ae7dd..ad0663b 100644
--- a/ios/sdk/WeexSDK/Sources/Bridge/WXBridgeContext.m
+++ b/ios/sdk/WeexSDK/Sources/Bridge/WXBridgeContext.m
@@ -462,9 +462,10 @@ _Pragma("clang diagnostic pop") \
classDefinition.attributes = kJSClassAttributeNoAutomaticPrototype;
JSClassRef globalObjectClass = JSClassCreate(&classDefinition);
JSGlobalContextRef sandboxGlobalContextRef = JSGlobalContextCreateInGroup(contextGroup, globalObjectClass);
- JSObjectRef sandBoxGlobalObjectRef = JSContextGetGlobalObject(sandboxGlobalContextRef);
- JSObjectSetPrototype(sandboxGlobalContextRef, sandBoxGlobalObjectRef, [instanceContextEnvironment JSValueRef]);
+ JSClassRelease(globalObjectClass);
sdkInstance.instanceJavaScriptContext = [JSContext contextWithJSGlobalContextRef:sandboxGlobalContextRef];
+ JSGlobalContextRelease(sandboxGlobalContextRef);
+ JSObjectSetPrototype(sdkInstance.instanceJavaScriptContext.JSGlobalContextRef,JSContextGetGlobalObject(sdkInstance.instanceJavaScriptContext.JSGlobalContextRef), [instanceContextEnvironment JSValueRef]);
[sdkInstance.instanceJavaScriptContext evaluateScript:jsBundleString];
}];
} else {
@@ -495,10 +496,10 @@ _Pragma("clang diagnostic pop") \
if(self.sendQueue[instance]){
[self.sendQueue removeObjectForKey:instance];
}
+ WXSDKInstance * sdkInstance = [WXSDKManager instanceForID:instance];
+ sdkInstance.instanceJavaScriptContext = nil;
[self callJSMethod:@"destroyInstance" args:@[instance]];
- WXSDKInstance *sdkIntance = [WXSDKManager instanceForID:instance];
- sdkIntance.instanceJavaScriptContext = NULL;
}
- (void)forceGarbageCollection