mirror of
https://github.com/TextureGroup/Texture.git
synced 2026-04-07 19:17:39 +00:00
Remove ASExperimentalTransactionOperationRetainCycle (#1547)
* Remove ASExperimentalTransactionOperationRetainCycle
This commit is contained in:
@@ -28,9 +28,8 @@ typedef NS_OPTIONS(NSUInteger, ASExperimentalFeatures) {
|
||||
ASExperimentalDidEnterPreloadSkipASMLayout = 1 << 7, // exp_did_enter_preload_skip_asm_layout
|
||||
ASExperimentalDispatchApply = 1 << 8, // exp_dispatch_apply
|
||||
ASExperimentalOOMBackgroundDeallocDisable = 1 << 9, // exp_oom_bg_dealloc_disable
|
||||
ASExperimentalTransactionOperationRetainCycle = 1 << 10, // exp_transaction_operation_retain_cycle
|
||||
ASExperimentalRemoveTextKitInitialisingLock = 1 << 11, // exp_remove_textkit_initialising_lock
|
||||
ASExperimentalDrawingGlobal = 1 << 12, // exp_drawing_global
|
||||
ASExperimentalRemoveTextKitInitialisingLock = 1 << 10, // exp_remove_textkit_initialising_lock
|
||||
ASExperimentalDrawingGlobal = 1 << 11, // exp_drawing_global
|
||||
ASExperimentalFeatureAll = 0xFFFFFFFF
|
||||
};
|
||||
|
||||
|
||||
@@ -22,7 +22,6 @@ NSArray<NSString *> *ASExperimentalFeaturesGetNames(ASExperimentalFeatures flags
|
||||
@"exp_did_enter_preload_skip_asm_layout",
|
||||
@"exp_dispatch_apply",
|
||||
@"exp_oom_bg_dealloc_disable",
|
||||
@"exp_transaction_operation_retain_cycle",
|
||||
@"exp_remove_textkit_initialising_lock",
|
||||
@"exp_drawing_global"]));
|
||||
if (flags == ASExperimentalFeatureAll) {
|
||||
|
||||
@@ -56,33 +56,18 @@
|
||||
self.asyncdisplaykit_asyncLayerTransactions = transactions;
|
||||
}
|
||||
__weak CALayer *weakSelf = self;
|
||||
if (ASActivateExperimentalFeature(ASExperimentalTransactionOperationRetainCycle)) {
|
||||
transaction = [[_ASAsyncTransaction alloc] initWithCompletionBlock:^(_ASAsyncTransaction *completedTransaction, BOOL cancelled) {
|
||||
__strong CALayer *self = weakSelf;
|
||||
if (self == nil) {
|
||||
return;
|
||||
}
|
||||
[self.asyncdisplaykit_asyncLayerTransactions removeObject:completedTransaction];
|
||||
if (self.asyncdisplaykit_asyncLayerTransactions.count == 0) {
|
||||
// Reclaim object memory.
|
||||
self.asyncdisplaykit_asyncLayerTransactions = nil;
|
||||
}
|
||||
[self asyncdisplaykit_asyncTransactionContainerDidCompleteTransaction:completedTransaction];
|
||||
}];
|
||||
} else {
|
||||
transaction = [[_ASAsyncTransaction alloc] initWithCompletionBlock:^(_ASAsyncTransaction *completedTransaction, BOOL cancelled) {
|
||||
__strong CALayer *self = weakSelf;
|
||||
if (self == nil) {
|
||||
return;
|
||||
}
|
||||
[transactions removeObject:completedTransaction];
|
||||
if (transactions.count == 0) {
|
||||
// Reclaim object memory.
|
||||
self.asyncdisplaykit_asyncLayerTransactions = nil;
|
||||
}
|
||||
[self asyncdisplaykit_asyncTransactionContainerDidCompleteTransaction:completedTransaction];
|
||||
}];
|
||||
}
|
||||
transaction = [[_ASAsyncTransaction alloc] initWithCompletionBlock:^(_ASAsyncTransaction *completedTransaction, BOOL cancelled) {
|
||||
__strong CALayer *self = weakSelf;
|
||||
if (self == nil) {
|
||||
return;
|
||||
}
|
||||
[self.asyncdisplaykit_asyncLayerTransactions removeObject:completedTransaction];
|
||||
if (self.asyncdisplaykit_asyncLayerTransactions.count == 0) {
|
||||
// Reclaim object memory.
|
||||
self.asyncdisplaykit_asyncLayerTransactions = nil;
|
||||
}
|
||||
[self asyncdisplaykit_asyncTransactionContainerDidCompleteTransaction:completedTransaction];
|
||||
}];
|
||||
[transactions addObject:transaction];
|
||||
self.asyncdisplaykit_currentAsyncTransaction = transaction;
|
||||
[self asyncdisplaykit_asyncTransactionContainerWillBeginTransaction:transaction];
|
||||
|
||||
Reference in New Issue
Block a user