mirror of
https://github.com/Instagram/IGListKit
synced 2026-05-18 14:58:34 +00:00
Summary: * Issue: [IGListAdapter visibleSectionControllers] calls [UICollectionViewLayout layoutAttributesForElementsInRect:] which can be expensive. And since visibleSectionControllers is called in scrollViewDidScroll, it can add up and take a toll on scroll performance. On an iPhone 7, it's in 2-10% of the main-thread samples (using Time Profiler). * Fix: IGListDisplayHandler conveniently keeps track of visible IGListSectionControllers, so let's just use that. Now, [IGListAdapter visibleSectionControllers] drops to ~0.3% of samples. Reviewed By: rnystrom Differential Revision: D6351474 fbshipit-source-id: 66914db95e08498927bfbceda4d2e9d58cbc7530 |
||
|---|---|---|
| .. | ||
| IGListAdapter+DebugDescription.h | ||
| IGListAdapter+DebugDescription.m | ||
| IGListAdapter+UICollectionView.h | ||
| IGListAdapter+UICollectionView.m | ||
| IGListAdapterInternal.h | ||
| IGListAdapterProxy.h | ||
| IGListAdapterProxy.m | ||
| IGListAdapterUpdater+DebugDescription.h | ||
| IGListAdapterUpdater+DebugDescription.m | ||
| IGListAdapterUpdaterInternal.h | ||
| IGListBatchUpdateData+DebugDescription.h | ||
| IGListBatchUpdateData+DebugDescription.m | ||
| IGListBatchUpdates.h | ||
| IGListBatchUpdates.m | ||
| IGListBatchUpdateState.h | ||
| IGListBindingSectionController+DebugDescription.h | ||
| IGListBindingSectionController+DebugDescription.m | ||
| IGListCollectionViewLayoutInternal.h | ||
| IGListDebugger.h | ||
| IGListDebugger.m | ||
| IGListDebuggingUtilities.h | ||
| IGListDebuggingUtilities.m | ||
| IGListDisplayHandler.h | ||
| IGListDisplayHandler.m | ||
| IGListReloadIndexPath.h | ||
| IGListReloadIndexPath.m | ||
| IGListSectionControllerInternal.h | ||
| IGListSectionMap+DebugDescription.h | ||
| IGListSectionMap+DebugDescription.m | ||
| IGListSectionMap.h | ||
| IGListSectionMap.m | ||
| IGListStackedSectionControllerInternal.h | ||
| IGListWorkingRangeHandler.h | ||
| IGListWorkingRangeHandler.mm | ||
| UICollectionView+DebugDescription.h | ||
| UICollectionView+DebugDescription.m | ||
| UICollectionView+IGListBatchUpdateData.h | ||
| UICollectionView+IGListBatchUpdateData.m | ||