iOS8系统下部分情况下卡顿问题
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 45/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- objective-c
- Domain
- mobile-dev, performance
Research direction
Locate intrinsicContentSizeInvalidatedForChildView: and trace its calls into distributionArrangement and alignmentArrangement. Reproduce the scrolling slowdown with a UITableViewCell containing multiple text views on iOS 8, then verify that child-size invalidation does not trigger unnecessary repeated stack-view layout while preserving the existing arrangement behavior.
Written by the indexing model from the issue text.
Description
(void)intrinsicContentSizeInvalidatedForChildView:(UIView *)childView {
[self.distributionArrangement intrinsicContentSizeInvalidatedForItem:childView];
[self.alignmentArrangement intrinsicContentSizeInvalidatedForItem:childView];
}
方法名很明确指出需要无效化传进去的childView的intrinsicSize,但是方法全程内部并没有用到childView而是对整个stackView重新布局了,以至于只要stackView有一些小改动,整个stackView都要跟着刷新,如果stackView里有两个childView需要更新,根据代码逻辑,刷新就会调用两次,这性能损耗非常大,目前我已应用在UITableViewCell的布局中,Cell上如果需要设置多个文本时滚动卡顿非常明显(iOS8下)
- Dominant language
- Objective-C
- Stars
- 2.5k
- Forks
- 310
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from forkingdog/FDStackView
-
b52clubmba Open
Difficulty 5/5 Over a week Newbie friendliness 5/100
forkingdog/FDStackView#54 ·
-
iOS11新增功能提供 Open
Difficulty 3/5 1-2 days Newbie friendliness 45/100
forkingdog/FDStackView#53 · 1 comment ·
-
Difficulty 3/5 1-2 days Newbie friendliness 45/100
forkingdog/FDStackView#52 ·
-
Difficulty 3/5 1-2 days Newbie friendliness 15/100
forkingdog/FDStackView#51 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 20/100
forkingdog/FDStackView#50 ·
All issues in forkingdog/FDStackView
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
objective-see/LuLu#925 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
noah-nuebling/mac-mouse-fix#2054 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 92/100
obsproject/obs-studio#13918 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
HigherOrderCO/Bend#842 · 2 comments ·