fix(player): 收紧图片与快速切集资源占用
This commit is contained in:
1 parent
2fef7470e0
commit
80c962a95c
10 files changed
+281
-30
No files matched your search
@@ -422,6 +422,42 @@ void main() {
|
||||
await _drain(logic);
|
||||
});
|
||||
|
||||
test('should_coalesce_rapid_page_selection_and_keep_pool_bounded', () async {
|
||||
final factory = _RecordingFactory();
|
||||
final playback = FakePlaybackRepository();
|
||||
final logic = _logic(FakeWatchHistory(), playback: playback);
|
||||
logic.attach(
|
||||
PlayerPage(
|
||||
drama: _drama('rapid', numbers: const [1, 2, 3, 4, 5, 6]),
|
||||
initialIndex: 0,
|
||||
),
|
||||
isMounted: () => true,
|
||||
);
|
||||
logic.start(factory: factory.create, coordinator: PlaybackCoordinator());
|
||||
await _drain(logic);
|
||||
|
||||
await Future.wait([
|
||||
for (var index = 1; index <= 5; index++)
|
||||
logic.requestEpisodeSelection(index),
|
||||
]);
|
||||
await _drain(logic);
|
||||
|
||||
expect(logic.session.currentIndex, 5);
|
||||
expect(playback.requests, containsAll(['rapid-1', 'rapid-2', 'rapid-6']));
|
||||
expect(playback.requests, isNot(contains('rapid-3')));
|
||||
expect(playback.requests, isNot(contains('rapid-4')));
|
||||
expect(playback.requests, isNot(contains('rapid-5')));
|
||||
expect(logic.session.livePlayerCount, lessThanOrEqualTo(3));
|
||||
expect(factory.live, lessThanOrEqualTo(3));
|
||||
|
||||
await logic.requestEpisodeSelection(0);
|
||||
await _drain(logic);
|
||||
expect(logic.session.currentIndex, 0);
|
||||
|
||||
logic.dispose();
|
||||
await _drain(logic);
|
||||
});
|
||||
|
||||
group('surface flags', () {
|
||||
test('should_set_immersive_when_picture_in_picture_callback_fires', () async {
|
||||
final factory = _RecordingFactory();
|
||||
|
||||
Reference in new issue
Block a user