Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix/129 performance #131

Merged
merged 95 commits into from
Sep 11, 2017
Merged

Fix/129 performance #131

merged 95 commits into from
Sep 11, 2017

Conversation

MosheBerman
Copy link
Owner

This PR improves performance when selecting a new date, bringing re-render time without cache invalidation to under 200ms, and with cache invalidation to about 450ms.

It also fixes issues #73, #110, and #127.

…tead of NSNumber and using `initWithCString` instead of `stringWithFormat:`.
…t we can test it easily for performance impact.
…SNumber each time willDisplayCell:inContext: is called.
…wLayout - we're going to compute this in the calendar model's animation support category and cache it. This eliminates duplicate work.
… per cell in the CKCalendarGridTransitionCollectionViewFlowLayout.
- Rename `CKContextCache` to `CKCalendarCellContextCache`.
- Observe low memory notification.
- Observe significant time change notification.
- Take the calendar view as an initialization parameter.
- Remove manual insertion method.
- Use the shared date formatter instead of generating string keys on our own.
…ew. This allows us to more easily update the highlighted cell as the user scrubs.
…tly. This allows the model to invalidate caches as necessary and let us know when to reload. This also means that the calendar view no longer reloads inside of this setter.
…ws - this works since we're only caching resizing the cached image view at this point.
@MosheBerman MosheBerman merged commit 64d3bba into master Sep 11, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant