This is an automated email from the ASF dual-hosted git repository.

cxfeng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-weex.git


The following commit(s) were added to refs/heads/master by this push:
     new adfa157  Fix multicontext recreate (#1818)
adfa157 is described below

commit adfa157737424d9f6424f032e42001b5273007f4
Author: wqyfavor <wqyfa...@163.com>
AuthorDate: Mon Nov 26 19:30:54 2018 +0800

    Fix multicontext recreate (#1818)
    
    * [iOS] Remove multicontext switch.
    
    * [iOS] Remove multicontext switch.
    
    * [iOS] For normal instance, do not create default jscontext which will be 
deallocated soon.
---
 ios/sdk/WeexSDK.xcodeproj/project.pbxproj        |  6 --
 ios/sdk/WeexSDK/Sources/Bridge/WXBridgeContext.m | 49 +++++-------
 ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.h  |  5 +-
 ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.mm | 99 ++++++++++++------------
 ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m     | 17 ----
 ios/sdk/WeexSDK/Sources/Manager/WXSDKManager.h   |  2 -
 ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m    | 21 +----
 7 files changed, 79 insertions(+), 120 deletions(-)

diff --git a/ios/sdk/WeexSDK.xcodeproj/project.pbxproj 
b/ios/sdk/WeexSDK.xcodeproj/project.pbxproj
index d6aca1d..aeb4d3b 100644
--- a/ios/sdk/WeexSDK.xcodeproj/project.pbxproj
+++ b/ios/sdk/WeexSDK.xcodeproj/project.pbxproj
@@ -923,7 +923,6 @@
                DCA445C41EFA57E300D0CFA8 /* WXAppConfiguration.h in Headers */ 
= {isa = PBXBuildFile; fileRef = 74A4BA941CB365D100195969 /* 
WXAppConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; };
                DCA445C51EFA57E800D0CFA8 /* WXAComponent.h in Headers */ = {isa 
= PBXBuildFile; fileRef = 2AE5B7501CAB7DBD0082FDDB /* WXAComponent.h */; 
settings = {ATTRIBUTES = (Public, ); }; };
                DCA445C61EFA57EE00D0CFA8 /* NSObject+WXSwizzle.h in Headers */ 
= {isa = PBXBuildFile; fileRef = 74896F2E1D1AC79400D1D593 /* 
NSObject+WXSwizzle.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               DCA445C91EFA58CE00D0CFA8 /* native-bundle-main.js in Resources 
*/ = {isa = PBXBuildFile; fileRef = DCF0CD9D1EAF3A6B0062CA8F /* 
native-bundle-main.js */; };
                DCA445CA1EFA58CE00D0CFA8 /* wx_load_er...@3x.png in Resources 
*/ = {isa = PBXBuildFile; fileRef = 59AC02501D2A7E6E00355112 /* 
wx_load_er...@3x.png */; };
                DCA445CB1EFA590600D0CFA8 /* WXComponent+Layout.h in Headers */ 
= {isa = PBXBuildFile; fileRef = 744BEA571D0520F300452B5D /* 
WXComponent+Layout.h */; settings = {ATTRIBUTES = (Public, ); }; };
                DCA445CC1EFA592800D0CFA8 /* WXResourceLoader.h in Headers */ = 
{isa = PBXBuildFile; fileRef = 742AD7381DF98C8B007DC46C /* WXResourceLoader.h 
*/; settings = {ATTRIBUTES = (Public, ); }; };
@@ -1030,7 +1029,6 @@
                DCEA54631F2B7DBA000ECB23 /* WXTracingManager.m in Sources */ = 
{isa = PBXBuildFile; fileRef = C4E97D321F1EF46D00ABC314 /* WXTracingManager.m 
*/; };
                DCF087611DCAE161005CD6EB /* WXInvocationConfig.h in Headers */ 
= {isa = PBXBuildFile; fileRef = DCF0875F1DCAE161005CD6EB /* 
WXInvocationConfig.h */; };
                DCF087621DCAE161005CD6EB /* WXInvocationConfig.m in Sources */ 
= {isa = PBXBuildFile; fileRef = DCF087601DCAE161005CD6EB /* 
WXInvocationConfig.m */; };
-               DCF0CD9E1EAF3A6B0062CA8F /* native-bundle-main.js in Resources 
*/ = {isa = PBXBuildFile; fileRef = DCF0CD9D1EAF3A6B0062CA8F /* 
native-bundle-main.js */; };
                DCF343671E49CAEE00A2FB34 /* WXJSExceptionInfo.h in Headers */ = 
{isa = PBXBuildFile; fileRef = DCF343651E49CAEE00A2FB34 /* WXJSExceptionInfo.h 
*/; settings = {ATTRIBUTES = (Public, ); }; };
                DCF343681E49CAEE00A2FB34 /* WXJSExceptionInfo.m in Sources */ = 
{isa = PBXBuildFile; fileRef = DCF343661E49CAEE00A2FB34 /* WXJSExceptionInfo.m 
*/; };
                ED053500207F4DEB007B4568 /* JSContext+Weex.h in Headers */ = 
{isa = PBXBuildFile; fileRef = ED0534FE207F4DEB007B4568 /* JSContext+Weex.h */; 
settings = {ATTRIBUTES = (Public, ); }; };
@@ -1599,7 +1597,6 @@
                DCE7F1EE20AD358A00D471E7 /* WXPageEventNotifyEvent.h */ = {isa 
= PBXFileReference; lastKnownFileType = sourcecode.c.h; name = 
WXPageEventNotifyEvent.h; path = Protocol/WXPageEventNotifyEvent.h; sourceTree 
= "<group>"; };
                DCF0875F1DCAE161005CD6EB /* WXInvocationConfig.h */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = 
WXInvocationConfig.h; sourceTree = "<group>"; };
                DCF087601DCAE161005CD6EB /* WXInvocationConfig.m */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path 
= WXInvocationConfig.m; sourceTree = "<group>"; };
-               DCF0CD9D1EAF3A6B0062CA8F /* native-bundle-main.js */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.javascript; name = 
"native-bundle-main.js"; path = "../../../../pre-build/native-bundle-main.js"; 
sourceTree = "<group>"; };
                DCF343651E49CAEE00A2FB34 /* WXJSExceptionInfo.h */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = 
WXJSExceptionInfo.h; sourceTree = "<group>"; };
                DCF343661E49CAEE00A2FB34 /* WXJSExceptionInfo.m */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path 
= WXJSExceptionInfo.m; sourceTree = "<group>"; };
                ED0534FE207F4DEB007B4568 /* JSContext+Weex.h */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.c.h; path = 
"JSContext+Weex.h"; sourceTree = "<group>"; };
@@ -1926,7 +1923,6 @@
                                DCD8D0F22073392A0002C420 /* weex-polyfill.js */,
                                DC15A3D92010BC93009C8977 /* weex-main-jsfm.js 
*/,
                                DC15A3DA2010BC93009C8977 /* weex-rax-api.js */,
-                               DCF0CD9D1EAF3A6B0062CA8F /* 
native-bundle-main.js */,
                                59AC02501D2A7E6E00355112 /* 
wx_load_er...@3x.png */,
                        );
                        path = Resources;
@@ -3409,7 +3405,6 @@
                        buildActionMask = 2147483647;
                        files = (
                                DC15A3DC2010BC93009C8977 /* weex-rax-api.js in 
Resources */,
-                               DCF0CD9E1EAF3A6B0062CA8F /* 
native-bundle-main.js in Resources */,
                                DCD8D0F32073392A0002C420 /* weex-polyfill.js in 
Resources */,
                                DC15A3DB2010BC93009C8977 /* weex-main-jsfm.js 
in Resources */,
                                59AC02511D2A7E6E00355112 /* 
wx_load_er...@3x.png in Resources */,
@@ -3421,7 +3416,6 @@
                        buildActionMask = 2147483647;
                        files = (
                                DCD8D0F52073393B0002C420 /* weex-main-jsfm.js 
in Resources */,
-                               DCA445C91EFA58CE00D0CFA8 /* 
native-bundle-main.js in Resources */,
                                DCD8D0F42073392A0002C420 /* weex-polyfill.js in 
Resources */,
                                DCD8D0F62073393B0002C420 /* weex-rax-api.js in 
Resources */,
                                DCA445CA1EFA58CE00D0CFA8 /* 
wx_load_er...@3x.png in Resources */,
diff --git a/ios/sdk/WeexSDK/Sources/Bridge/WXBridgeContext.m 
b/ios/sdk/WeexSDK/Sources/Bridge/WXBridgeContext.m
index 811ed62..0dfe18d 100644
--- a/ios/sdk/WeexSDK/Sources/Bridge/WXBridgeContext.m
+++ b/ios/sdk/WeexSDK/Sources/Bridge/WXBridgeContext.m
@@ -264,7 +264,7 @@ _Pragma("clang diagnostic pop") \
         NSMutableDictionary * newOptions = options ? [options mutableCopy] : 
[NSMutableDictionary new];
         NSMutableArray * newArguments = [arguments mutableCopy];
         
-        if ([WXSDKManager sharedInstance].multiContext && 
[instance.bundleType.lowercaseString isEqualToString:@"rax"]) {
+        if ([instance.bundleType.lowercaseString isEqualToString:@"rax"]) {
             // we need to adjust __weex_options__ params in arguments to 
options compatible with rax javaScript framework.
             NSDictionary * weexOptions = nil;
             for(int i = 0;i < [arguments count]; i ++) {
@@ -420,13 +420,9 @@ _Pragma("clang diagnostic pop") \
     NSArray *args = nil;
     WX_MONITOR_INSTANCE_PERF_START(WXFirstScreenJSFExecuteTime, [WXSDKManager 
instanceForID:instanceIdString]);
     WX_MONITOR_INSTANCE_PERF_START(WXPTJSCreateInstance, [WXSDKManager 
instanceForID:instanceIdString]);
-    BOOL shoudMultiContext = [WXSDKManager sharedInstance].multiContext;
-    NSString * bundleType = nil;
-    
-    if (shoudMultiContext) {
-        bundleType = [self _pareJSBundleType:instanceIdString 
jsBundleString:jsBundleString]; // bundleType can be Vue, Rax and the new 
framework.
-    }
-    if (bundleType&&shoudMultiContext) {
+
+    NSString * bundleType = [self _pareJSBundleType:instanceIdString 
jsBundleString:jsBundleString]; // bundleType can be Vue, Rax and the new 
framework.
+    if (bundleType) {
         [sdkInstance.apmInstance setProperty:KEY_PAGE_PROPERTIES_BUNDLE_TYPE 
withValue:bundleType];
         NSMutableDictionary *newOptions = [options mutableCopy];
         if (!options) {
@@ -1029,29 +1025,26 @@ _Pragma("clang diagnostic pop") \
             NSDictionary *userInfo = nil;
             BOOL commitException = YES;
             WXSDKInstance * instance = nil;
-            if ([WXSDKManager sharedInstance].multiContext) {
-                if (context.instanceId) {
-                    // instance page javaScript runtime exception
-                     instance = [WXSDKManager 
instanceForID:context.instanceId];
-                    if (instance) {
-                        // instance already existed
-                        commitException = YES;
-                    } else {
-                        // instance already destroyed
-                        commitException = NO;
-                    }
+
+            if (context.instanceId) {
+                // instance page javaScript runtime exception
+                 instance = [WXSDKManager instanceForID:context.instanceId];
+                if (instance) {
+                    // instance already existed
+                    commitException = YES;
                 } else {
-                    // weex-main-jsfm.js runtime exception throws
-                    message = [NSString 
stringWithFormat:@"[WX_KEY_EXCEPTION_WXBRIDGE] [%@:%@:%@] %@ js stack: %@", 
exception[@"sourceURL"], exception[@"line"], exception[@"column"], [exception 
toString], [exception[@"stack"] toObject]];
-                    if (!JSValueIsUndefined(context.JSGlobalContextRef, 
exception[@"sourceURL"].JSValueRef)) {
-                        bundleUrl = exception[@"sourceURL"].toString;
-                    } else {
-                        bundleUrl = @"weex-main-jsfm";
-                    }
-                    userInfo = [NSDictionary dictionary];
+                    // instance already destroyed
+                    commitException = NO;
                 }
             } else {
-                instance = [WXSDKEngine topInstance];
+                // weex-main-jsfm.js runtime exception throws
+                message = [NSString 
stringWithFormat:@"[WX_KEY_EXCEPTION_WXBRIDGE] [%@:%@:%@] %@ js stack: %@", 
exception[@"sourceURL"], exception[@"line"], exception[@"column"], [exception 
toString], [exception[@"stack"] toObject]];
+                if (!JSValueIsUndefined(context.JSGlobalContextRef, 
exception[@"sourceURL"].JSValueRef)) {
+                    bundleUrl = exception[@"sourceURL"].toString;
+                } else {
+                    bundleUrl = @"weex-main-jsfm";
+                }
+                userInfo = [NSDictionary dictionary];
             }
             
             NSDictionary* wxExtFuncInfo = [context[@"wxExtFuncInfo"] 
toDictionary];
diff --git a/ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.h 
b/ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.h
index 6472ea7..f0f61e4 100644
--- a/ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.h
+++ b/ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.h
@@ -20,5 +20,8 @@
 #import "WXBridgeProtocol.h"
 
 @interface WXJSCoreBridge : NSObject <WXBridgeProtocol>
-@property (nonatomic,assign)BOOL multiContext;
+
+- (instancetype)init;
+- (instancetype)initWithoutDefaultContext;
+
 @end
diff --git a/ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.mm 
b/ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.mm
index ade954d..de414bd 100644
--- a/ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.mm
+++ b/ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.mm
@@ -60,54 +60,18 @@
 
 - (instancetype)init
 {
-    self = [super init];
-    
-    if(self){
+    self = [self initWithoutDefaultContext];
+    [self createDefaultContext];
+    return self;
+}
 
-        _jsContext = [[JSContext alloc] init];
-        if (WX_SYS_VERSION_GREATER_THAN_OR_EQUAL_TO(@"8.0")) {
-            _jsContext.name = @"Weex Context";
-        }
+- (instancetype)initWithoutDefaultContext
+{
+    if (self = [super init]) {
         _timers = [NSMutableArray new];
         _callbacks = [NSMutableDictionary new];
         _intervalTimerId = 0;
         _intervaltimers = [NSMutableDictionary new];
-        _multiContext = NO;
-
-        __weak typeof(self) weakSelf = self;
-
-        [WXBridgeContext mountContextEnvironment:_jsContext];
-        
-        _jsContext[@"setTimeout"] = ^(JSValue *function, JSValue *timeout) {
-            // this setTimeout is used by internal logic in JS framework, 
normal setTimeout called by users will call WXTimerModule's method;
-            [weakSelf performSelector: @selector(triggerTimeout:) 
withObject:^() {
-                [function callWithArguments:@[]];
-            } afterDelay:[timeout toDouble] / 1000];
-        };
-        
-        _jsContext[@"setTimeoutWeex"] = ^(JSValue *appId, JSValue *ret,JSValue 
*arg ) {
-            [weakSelf triggerTimeout:[appId toString] ret:[ret toString] 
arg:[arg toString]];
-        };
-        
-        _jsContext[@"setIntervalWeex"] = ^(JSValue *appId, JSValue 
*function,JSValue *arg) {
-            return [weakSelf triggerInterval:[appId toString] function:^() {
-                [function callWithArguments:@[]];
-            } arg:[arg toString]];
-        };
-        
-        _jsContext[@"clearIntervalWeex"] = ^(JSValue *appId, JSValue 
*ret,JSValue *arg) {
-            
-            [weakSelf triggerClearInterval:[appId toString] ret:[[ret 
toNumber] longLongValue]];
-        };
-        
-        _jsContext[@"clearTimeoutWeex"] = ^(JSValue *ret) {
-            [weakSelf triggerClearTimeout:[ret toString]];
-        };
-        
-        _jsContext[@"extendCallNative"] = ^(JSValue *value ) {
-            return [weakSelf extendCallNative:[value toDictionary]];
-        };
-
     }
     return self;
 }
@@ -145,11 +109,7 @@
 
     WXAssertParam(frameworkScript);
     if (WX_SYS_VERSION_GREATER_THAN_OR_EQUAL_TO(@"8.0")) {
-        NSString * fileName = @"native-bundle-main.js";
-        if ([WXSDKManager sharedInstance].multiContext) {
-            fileName = @"weex-main-jsfm.js";
-        }
-        [_jsContext evaluateScript:frameworkScript withSourceURL:[NSURL 
URLWithString:fileName]];
+        [_jsContext evaluateScript:frameworkScript withSourceURL:[NSURL 
URLWithString:@"weex-main-jsfm.js"]];
     }else{
         [_jsContext evaluateScript:frameworkScript];
     }
@@ -426,6 +386,49 @@
 }
 
 #pragma mark - Private
+
+- (void)createDefaultContext
+{
+    __weak typeof(self) weakSelf = self;
+    
+    _jsContext = [[JSContext alloc] init];
+    if (WX_SYS_VERSION_GREATER_THAN_OR_EQUAL_TO(@"8.0")) {
+        _jsContext.name = @"Weex Context";
+    }
+    
+    [WXBridgeContext mountContextEnvironment:_jsContext];
+    
+    _jsContext[@"setTimeout"] = ^(JSValue *function, JSValue *timeout) {
+        // this setTimeout is used by internal logic in JS framework, normal 
setTimeout called by users will call WXTimerModule's method;
+        [weakSelf performSelector: @selector(triggerTimeout:) withObject:^() {
+            [function callWithArguments:@[]];
+        } afterDelay:[timeout toDouble] / 1000];
+    };
+    
+    _jsContext[@"setTimeoutWeex"] = ^(JSValue *appId, JSValue *ret,JSValue 
*arg ) {
+        [weakSelf triggerTimeout:[appId toString] ret:[ret toString] arg:[arg 
toString]];
+    };
+    
+    _jsContext[@"setIntervalWeex"] = ^(JSValue *appId, JSValue 
*function,JSValue *arg) {
+        return [weakSelf triggerInterval:[appId toString] function:^() {
+            [function callWithArguments:@[]];
+        } arg:[arg toString]];
+    };
+    
+    _jsContext[@"clearIntervalWeex"] = ^(JSValue *appId, JSValue *ret,JSValue 
*arg) {
+        
+        [weakSelf triggerClearInterval:[appId toString] ret:[[ret toNumber] 
longLongValue]];
+    };
+    
+    _jsContext[@"clearTimeoutWeex"] = ^(JSValue *ret) {
+        [weakSelf triggerClearTimeout:[ret toString]];
+    };
+    
+    _jsContext[@"extendCallNative"] = ^(JSValue *value ) {
+        return [weakSelf extendCallNative:[value toDictionary]];
+    };
+}
+
 -(void)addInstance:(NSString *)instance callback:(NSString *)callback
 {
     if(instance.length > 0){
diff --git a/ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m 
b/ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m
index 980d4fd..47a2880 100644
--- a/ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m
+++ b/ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m
@@ -224,15 +224,6 @@
 + (void)initSDKEnvironment
 {
     NSString *fileName = @"weex-main-jsfm";
-    [WXSDKManager sharedInstance].multiContext = YES;
-    
-    if ([[NSUserDefaults standardUserDefaults] 
objectForKey:@"createInstanceUsingMutliContext"]) {
-        BOOL createInstanceUsingMutliContext = [[[NSUserDefaults 
standardUserDefaults] objectForKey:@"createInstanceUsingMutliContext"] 
boolValue];
-        if (!createInstanceUsingMutliContext) {
-            fileName = @"native-bundle-main";
-            [WXSDKManager sharedInstance].multiContext = NO;
-        }
-    }
     NSString *filePath = [[NSBundle bundleForClass:self] 
pathForResource:fileName ofType:@"js"];
        if (filePath == nil) {
                filePath = [[NSBundle mainBundle] pathForResource:fileName 
ofType:@"js"];
@@ -330,14 +321,6 @@ static NSDictionary *_customEnvironment;
 + (void)restart
 {
     NSString *fileName = @"weex-main-jsfm";
-    [WXSDKManager sharedInstance].multiContext = YES;
-    if ([[NSUserDefaults standardUserDefaults] 
objectForKey:@"createInstanceUsingMutliContext"]) {
-        BOOL createInstanceUsingMutliContext = [[[NSUserDefaults 
standardUserDefaults] objectForKey:@"createInstanceUsingMutliContext"] 
boolValue];
-        if (!createInstanceUsingMutliContext) {
-            fileName = @"native-bundle-main";
-            [WXSDKManager sharedInstance].multiContext = NO;
-        }
-    }
     NSString *filePath = [[NSBundle bundleForClass:self] 
pathForResource:fileName ofType:@"js"];
        if (filePath == nil) {
                filePath = [[NSBundle mainBundle] pathForResource:fileName 
ofType:@"js"];
diff --git a/ios/sdk/WeexSDK/Sources/Manager/WXSDKManager.h 
b/ios/sdk/WeexSDK/Sources/Manager/WXSDKManager.h
index f272347..9f8e454 100644
--- a/ios/sdk/WeexSDK/Sources/Manager/WXSDKManager.h
+++ b/ios/sdk/WeexSDK/Sources/Manager/WXSDKManager.h
@@ -25,8 +25,6 @@
 
 @interface WXSDKManager : NSObject
 
-@property (nonatomic, assign) BOOL multiContext;
-
 /**
  *@abstract Returns sdk manager
  */
diff --git a/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m 
b/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m
index 4a04c14..deb383e 100644
--- a/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m
+++ b/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m
@@ -142,7 +142,7 @@ typedef enum : NSUInteger {
     }
     
     // WXDebugger is a singleton actually and should not call its init twice.
-    _instanceJavaScriptContext = _debugJS ? [NSClassFromString(@"WXDebugger") 
alloc] : [[WXJSCoreBridge alloc] init];
+    _instanceJavaScriptContext = _debugJS ? [NSClassFromString(@"WXDebugger") 
alloc] : [[WXJSCoreBridge alloc] initWithoutDefaultContext];
     if (!_debugJS) {
         id<WXBridgeProtocol> jsBridge = [[WXSDKManager bridgeMgr] 
valueForKeyPath:@"bridgeCtx.jsBridge"];
         JSContext* globalContex = jsBridge.javaScriptContext;
@@ -450,30 +450,15 @@ typedef enum : NSUInteger {
                
         BOOL enableRTLLayoutDirection = [[configCenter 
configForKey:@"iOS_weex_ext_config.enableRTLLayoutDirection" 
defaultValue:@(YES) isDefault:NULL] boolValue];
         [WXUtility setEnableRTLLayoutDirection:enableRTLLayoutDirection];
-
-        BOOL shoudMultiContext = NO;
-        shoudMultiContext = [[configCenter 
configForKey:@"iOS_weex_ext_config.createInstanceUsingMutliContext" 
defaultValue:@(YES) isDefault:NULL] boolValue];
-        if(shoudMultiContext && ![WXSDKManager sharedInstance].multiContext) {
-            [WXSDKManager sharedInstance].multiContext = YES;
-            [[NSUserDefaults standardUserDefaults] setObject:@"1" 
forKey:@"createInstanceUsingMutliContext"];
-            [WXSDKEngine restart];
-            return YES;
-        }
-        if (!shoudMultiContext && [WXSDKManager sharedInstance].multiContext) {
-            [WXSDKManager sharedInstance].multiContext = NO;
-            [[NSUserDefaults standardUserDefaults] setObject:@"0" 
forKey:@"createInstanceUsingMutliContext"];
-            [WXSDKEngine restart];
-            return YES;
-        }
     }
     return NO;
 }
 
-- (void)renderWithMainBundleString:(NSNotification*)notification {
+- (void)renderWithMainBundleString:(NSNotification*)notification
+{
     [self _renderWithMainBundleString:_mainBundleString];
 }
 
-
 - (void)_renderWithRequest:(WXResourceRequest *)request options:(NSDictionary 
*)options data:(id)data;
 {
     NSURL *url = request.URL;

Reply via email to