forkingdog / forkingdog/FDStackView

iOS8系统下部分情况下卡顿问题

Ouverte
#22 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
Objective-C
Étoiles
2.5k
Forks
310
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

(void)intrinsicContentSizeInvalidatedForChildView:(UIView *)childView {
[self.distributionArrangement intrinsicContentSizeInvalidatedForItem:childView];
[self.alignmentArrangement intrinsicContentSizeInvalidatedForItem:childView];
}

方法名很明确指出需要无效化传进去的childView的intrinsicSize,但是方法全程内部并没有用到childView而是对整个stackView重新布局了,以至于只要stackView有一些小改动,整个stackView都要跟着刷新,如果stackView里有两个childView需要更新,根据代码逻辑,刷新就会调用两次,这性能损耗非常大,目前我已应用在UITableViewCell的布局中,Cell上如果需要设置多个文本时滚动卡顿非常明显(iOS8下)

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Recherchez intrinsicContentSizeInvalidatedForChildView: et suivez ses appels jusqu’à distributionArrangement et alignmentArrangement. Reproduisez le ralentissement du défilement avec une UITableViewCell contenant plusieurs vues de texte sur iOS 8, puis vérifiez que l’invalidation de la taille intrinsèque d’un élément enfant ne déclenche pas de layout répété inutile de la stack view, tout en préservant le comportement d’arrangement existant.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
objective-c
Domaine
mobile-dev, performance
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.