feat: cache resource move from global to each context

This commit is contained in:
pengfei.zhou
2021-11-26 11:58:39 +08:00
committed by osborn
parent 3ac737db00
commit 96266921ff
5 changed files with 22 additions and 10 deletions

View File

@@ -42,6 +42,9 @@ - (instancetype)initWithScript:(NSString *)script source:(NSString *)source extr
_headNodes = [NSMutableDictionary new];
DoricRootNode *rootNode = [[DoricRootNode alloc] initWithContext:self];
_rootNode = rootNode;
_cachedResources = [[NSMapTable alloc] initWithKeyOptions:NSPointerFunctionsCopyIn
valueOptions:NSPointerFunctionsWeakMemory
capacity:0];
[self init:extra];
[self callEntity:DORIC_ENTITY_CREATE withArgumentsArray:@[]];
}
@@ -66,6 +69,7 @@ - (void)dealloc {
[[DoricContextManager instance] destroyContext:self];
[self callEntity:DORIC_ENTITY_DESTROY withArgumentsArray:@[]];
[self.driver destroyContext:self.contextId];
[self.cachedResources removeAllObjects];
}
- (DoricAsyncResult *)callEntity:(NSString *)method, ... {