forkingdog / forkingdog/FDStackView

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

Đang mở
#22 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Objective-C
Star
2.5k
Fork
310
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

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

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

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Hướng nghiên cứu

Tìm intrinsicContentSizeInvalidatedForChildView: và lần theo các lời gọi của nó đến distributionArrangement và alignmentArrangement. Tái hiện hiện tượng cuộn chậm bằng một UITableViewCell chứa nhiều text view trên iOS 8, sau đó xác minh rằng việc invalidation kích thước của view con không kích hoạt việc layout stack view lặp lại không cần thiết, đồng thời vẫn giữ nguyên behavior sắp xếp hiện có.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
objective-c
Lĩnh vực
mobile-dev, performance
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
45/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.