You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by zs...@apache.org on 2017/08/01 02:55:06 UTC

[39/50] [abbrv] incubator-weex git commit: + [ios] support muti instance show

+ [ios] support muti instance show


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/816e1d55
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/816e1d55
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/816e1d55

Branch: refs/heads/dev
Commit: 816e1d553d1fb4e2ab981c2d02e593c38aea64ac
Parents: faaa8f8
Author: 齐山 <su...@163.com>
Authored: Wed Jul 26 13:01:52 2017 +0800
Committer: 齐山 <su...@163.com>
Committed: Wed Jul 26 13:01:52 2017 +0800

----------------------------------------------------------------------
 .../WeexSDK/Sources/Manager/WXTracingManager.h    | 15 ++++++++-------
 .../WeexSDK/Sources/Manager/WXTracingManager.m    | 18 ++++++++++--------
 ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m     |  4 ++--
 ios/sdk/WeexSDK/Sources/Utility/WXLog.m           |  9 ++++++++-
 4 files changed, 28 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/816e1d55/ios/sdk/WeexSDK/Sources/Manager/WXTracingManager.h
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Manager/WXTracingManager.h b/ios/sdk/WeexSDK/Sources/Manager/WXTracingManager.h
index 632d712..f2becd2 100644
--- a/ios/sdk/WeexSDK/Sources/Manager/WXTracingManager.h
+++ b/ios/sdk/WeexSDK/Sources/Manager/WXTracingManager.h
@@ -21,17 +21,17 @@
 #import "WXSDKInstance.h"
 
 #define WXTNetworkHanding          @"loadjs"
-#define WXTExecJS          @"execjs"
-#define WXTJSCall          @"jsCall"
-#define WXTRender          @"render"
-#define WXTRenderFinish          @"RenderFinish"
+#define WXTExecJS                  @"execjs"
+#define WXTJSCall                  @"jsCall"
+#define WXTRender                  @"render"
+#define WXTRenderFinish            @"RenderFinish"
 
 #define WXTracingBegin             @"B"
 #define WXTracingEnd               @"E"
 #define WXTracingDuration          @"D"
-#define WXTracingInstant          @"i"
+#define WXTracingInstant           @"i"
 
-#define WXTracingDurationDefault 0
+#define WXTracingDurationDefault   0
 
 typedef enum : NSUInteger {
     // global
@@ -62,6 +62,7 @@ typedef enum : NSUInteger {
 @property (nonatomic, copy) NSString *fName; // functionName
 @property (nonatomic, copy) NSString *iid; // instance id
 @property (nonatomic, copy) NSString *parentId;// parent event id
+@property (nonatomic, copy) NSString *bundleUrl;
 -(NSDictionary *)dictionary;
 @end
 
@@ -103,7 +104,7 @@ typedef enum : NSUInteger {
  *  @discusstion  fetch tracing data
  *  @return  the tracing data
  */
-+(WXTracingTask*)getTracingData;
++(NSMutableDictionary*)getTracingData;
 
 /**
  *  @discusstion  clear tracing data

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/816e1d55/ios/sdk/WeexSDK/Sources/Manager/WXTracingManager.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Manager/WXTracingManager.m b/ios/sdk/WeexSDK/Sources/Manager/WXTracingManager.m
index eb51b7e..beb401b 100644
--- a/ios/sdk/WeexSDK/Sources/Manager/WXTracingManager.m
+++ b/ios/sdk/WeexSDK/Sources/Manager/WXTracingManager.m
@@ -93,6 +93,11 @@
             [[WXTracingManager sharedInstance].tracingTasks setObject:task forKey:tracing.iid];
         }
         WXTracingTask *task = [[WXTracingManager sharedInstance].tracingTasks objectForKey:tracing.iid];
+        if(task.bundleUrl.length == 0){
+            if(tracing.bundleUrl.length>0){
+                task.bundleUrl = tracing.bundleUrl;
+            }
+        }
         if(!task.tracings){
             task.tracings = [NSMutableArray new];
         }
@@ -172,6 +177,9 @@
         if(options && options[@"parentRef"]){
             tracing.parentRef = options[@"parentRef"];
         }
+        if(options && options[@"bundleUrl"]){
+            tracing.bundleUrl = options[@"bundleUrl"];
+        }
         [self startTracing:tracing];
     }
 }
@@ -312,18 +320,12 @@
     [task.tracings addObject:tracing];
 }
 
-+(WXTracingTask *)getTracingData
++(NSMutableDictionary *)getTracingData
 {
     if(![self isTracing]){
         return nil;
     }
-    NSArray *instanceIds = [[WXSDKManager bridgeMgr] getInstanceIdStack];
-    WXTracingTask *task = [[WXTracingManager sharedInstance].tracingTasks objectForKey:[instanceIds firstObject]];
-    NSMutableArray *ary = [NSMutableArray new];
-    for (WXTracing *tracing in task.tracings) {
-        [ary addObject:[tracing dictionary]];
-    }
-    return task;
+    return [WXTracingManager sharedInstance].tracingTasks;
 }
 
 +(NSDictionary *)getTacingApi

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/816e1d55/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m b/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m
index 0ae2a69..579138b 100644
--- a/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m
+++ b/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m
@@ -147,7 +147,7 @@ typedef enum : NSUInteger {
     
     WXResourceRequest *request = [WXResourceRequest requestWithURL:url resourceType:WXResourceTypeMainBundle referrer:@"" cachePolicy:NSURLRequestUseProtocolCachePolicy];
     [self _renderWithRequest:request options:options data:data];
-    [WXTracingManager startTracingWithInstanceId:self.instanceId ref:nil className:nil name:WXTNetworkHanding phase:WXTracingBegin functionName:@"renderWithURL" options:nil];
+    [WXTracingManager startTracingWithInstanceId:self.instanceId ref:nil className:nil name:WXTNetworkHanding phase:WXTracingBegin functionName:@"renderWithURL" options:@{@"bundleUrl":url?[url absoluteString]:@""}];
 }
 
 - (void)renderView:(NSString *)source options:(NSDictionary *)options data:(id)data
@@ -202,7 +202,7 @@ typedef enum : NSUInteger {
     
     [[WXSDKManager bridgeMgr] createInstance:self.instanceId template:mainBundleString options:dictionary data:_jsData];
     
-    [WXTracingManager startTracingWithInstanceId:self.instanceId ref:nil className:nil name:WXTExecJS phase:WXTracingBegin functionName:@"renderWithMainBundleString" options:nil];
+    [WXTracingManager startTracingWithInstanceId:self.instanceId ref:nil className:nil name:WXTExecJS phase:WXTracingBegin functionName:@"renderWithMainBundleString" options:@{@"bundleUrl":self.scriptURL?[self.scriptURL absoluteString]:@""}];
     
     WX_MONITOR_PERF_SET(WXPTBundleSize, [mainBundleString lengthOfBytesUsingEncoding:NSUTF8StringEncoding], self);
 }

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/816e1d55/ios/sdk/WeexSDK/Sources/Utility/WXLog.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Utility/WXLog.m b/ios/sdk/WeexSDK/Sources/Utility/WXLog.m
index dd6794d..ae85c7b 100644
--- a/ios/sdk/WeexSDK/Sources/Utility/WXLog.m
+++ b/ios/sdk/WeexSDK/Sources/Utility/WXLog.m
@@ -85,7 +85,14 @@ static id<WXLogProtocol> _externalLog;
         
         [[WXSDKManager bridgeMgr] resetEnvironment];
     }
-    
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Warc-performSelector-leaks"
+    Class propertyClass = NSClassFromString(@"WXTracingViewControllerManager");
+    SEL sel =NSSelectorFromString(@"loadTracingView");
+    if(propertyClass && [propertyClass respondsToSelector:sel]){
+        [propertyClass performSelector:sel];
+    }
+#pragma clang diagnostic pop
 }
 
 + (WXLogLevel)logLevel