-
Notifications
You must be signed in to change notification settings - Fork 20
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
Alexander Vasin (prieran) vs rx #10
base: master
Are you sure you want to change the base?
Conversation
public void stopSection(int id) { | ||
mSectionArray.delete(id); | ||
if (mSectionArray.size() == 0) { | ||
while (!mTaskQueue.isEmpty()) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
У меня скопилось 10 тасков
Критическая секция прошла, ты все закидываешь в хендлер и до исполнения всех 10 тасков опять начинается критическая секция, они помешают.
Не знаю от чего, но при начале скролла какое-то затормаживание все-таки есть |
|
||
@Override | ||
public void stopSections() { | ||
mSectionArray.clear(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
А запустить таски из очереди?
Это фича, что картинки по мере загрузки сетятся во вью?) выглядит как ненкжное мелькание |
|
||
@Override | ||
public void loadCollage(List<String> urls, ImageView imageView, CollageStrategy collageStrategy) { | ||
int imageViewId = imageView.hashCode(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Следующий метод до боли похож на этот.
95 процентов кода по моему
Можно из ImageView создавать реализацию ImageTarget
WeakReference<ImageTarget> imageTargetRef = new WeakReference<>(imageTarget); | ||
int imageTargetId = imageTarget.hashCode(); | ||
int imageTargetId; | ||
if (imageTarget instanceof ImageTargetWithId) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Почему нельзя в обоих случаях hashCode брать?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Пока писал объяснение, всё понял...
Сейчас поправлю, так оставлять это нельзя
Готово
Коллаж делается каждые 1, 4, 9, 16... картинок
Так сложнее и интереснее
Для уменьшения мерцания стоит .filter() на 1 секунду
В CriticalSectionsHandlerImpl после каждого таска проверяется, запущена ли критическая секция