Skip to content
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

Android,CPU占用有点高,手机发烫 #60

Open
BenzLeung opened this issue Oct 18, 2023 · 8 comments
Open

Android,CPU占用有点高,手机发烫 #60

BenzLeung opened this issue Oct 18, 2023 · 8 comments
Assignees

Comments

@BenzLeung
Copy link

Screenshot_2023-10-18-09-51-56-40_a5c17d2e2fb3cc7223d3ad8bda19a0b6

如题,如图,cpu其实还行,至少没达到100%,但确实有发烫感觉,有办法优化吗?

@BenzLeung
Copy link
Author

IMG_20231018_100701

对比另一个播放器。。。不过这播放器是本地播放。但是音流缓存后不也是本地播放嘛?

@gitbobobo
Copy link
Owner

这是播放时的占用还是暂停时的占用

@BenzLeung
Copy link
Author

BenzLeung commented Oct 18, 2023

上面两个截图都是播放时的CPU占用。暂停后就基本0%了。(以下内容我猜的)跟歌词有关吗?但是我关掉了桌面歌词和锁屏歌词后,CPU占用也没有降低。

更新:不对,暂停后还有2%-3%占用。。。暂停了1分钟后也是2%-3%。这时不是应该0%吗?这个时候app在做些什么吗?

@gitbobobo
Copy link
Owner

CPU占用高目前看来应该是原生端和Flutter端的通信过于频繁造成的,因为播放时会监控进度变化事件。

暂停时只有一个30s执行一次的离线模式检查的定时任务,这个也消耗不了多少资源,别的也没有了,具体为什么会有 CPU 占用我也不太清楚,得再看看。

@BenzLeung
Copy link
Author

我理解的进度变化事件应该只用于歌词和进度条吧。我觉得进度条只需要0.5s或1s查询一次进度,歌词最好能优化到每句歌词查询一次,所以也许不要监听进度变化,改成歌词和进度条主动轮询比较好?

@BenzLeung
Copy link
Author

更新:macos版本,播放状态的CPU占用也比其他播放器高。我这里通过mac内置的活动监视器看大约是 17%-20%,其他一般是3%-5% 。

@gitbobobo
Copy link
Owner

定位到问题了,是封面旋转这种循环动画导致的(每秒要一直渲染60或120帧,确实对CPU有不小的负担),下个版本会提供个选项:是否开启省电模式。

这应该属于flutter的优化问题,之前曾提过一个issue,还以为只会在iOS上出现呢。一个最简单的循环动画都快把CPU跑满了,很无语,也不知道啥时候能解决。

@BenzLeung
Copy link
Author

定位到问题了,是封面旋转这种循环动画导致的(每秒要一直渲染60或120帧,确实对CPU有不小的负担),下个版本会提供个选项:是否开启省电模式。

这应该属于flutter的优化问题,之前曾提过一个issue,还以为只会在iOS上出现呢。一个最简单的循环动画都快把CPU跑满了,很无语,也不知道啥时候能解决。

😂😂😂😂😂😂

建议提供个ui选项吧——使用方形封面/圆形旋转封面。

另外,建议app收到后台之后把动画都停掉 😅

@gitbobobo gitbobobo pinned this issue Apr 15, 2024
@gitbobobo gitbobobo self-assigned this May 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants