智能客服
你问我答,随时在线为你解决问题
下载任务正常启动,但是应用切换到后台后下载中断。
FFRT:用于调度执行开发者基于Function Flow编程模型开发的应用,FFRT日志能够显示资源分配和线程的错误信息。
根据HiLog日志,进行问题定位。
I C01406/render_service/OHOS::RS: RSSurfaceRenderNodeDrawable::OnDraw name:BackgroundBlurView2, the number of total processedNodes: 2 W C03301/'应用包名'/LIBUV: loop:394697872256, flag:complete, active reqs:100 I C015B0/'应用包名'/NETSTACK: [http_exec.cpp:298] CURL_TRACE: type = 7, data = STATE: INIT => CONNECT handle f000 I C01406/render_service/skia: RSHardwareThread::CommitAndReleaseLayers task execute, SurfaceName: [RCDBottomSurfaceNode7030861463553, RCDTopSurfaceNode7030861463553, DisplayNode] I C015B0/’应用包名’/NETSTACK: [http_exec.cpp:298] CURL_TRACE: type = 7, data = STATE: CONNECT => CONNECTING handle f000 I C015B0/’应用包名’/NETSTACK: [http_exec.cpp:298] CURL_TRACE: type = 7, data = STATE: CONNECTING => PROTOCONNECT handle f000 I C015B0/’应用包名’/NETSTACK: [http_exec.cpp:298] CURL_TRACE: type = 7, data = STATE: PROTOCONNECT => DO handle f000 W C01719/hiview/ffrt: 73810:DevFFTSSchedClose:116 close ffts sched device fd:4 I C015B0/’应用包名’/NETSTACK: [http_exec.cpp:298] CURL_TRACE: type = 7, data = STATE: DO => DID handle f000 W C01719/useriam/ffrt: 24152:FFRTQosApplyForOther:244 tid 59557, Operation not permitted, ret:-1, eno:1 I C015B0/’应用包名’/NETSTACK: [http_exec.cpp:298] CURL_TRACE: type = 7, data = STATE: DID => PERFORMING handle f000 E C01719/hiview/ffrt: 73811:DevFFTSOpen:73 open ffts device error, fd= -1, errno=12.
W C01719/hiview/ffrt: 73810:DevFFTSSchedClose:116 close ffts sched device fd:4 code:1001 W C01719/useriam/ffrt: 24152:FFRTQosApplyForOther:244 tid 59557, Operation not permitted, ret:-1, eno:1 E C01719/hiview/ffrt: 73811:DevFFTSOpen:73 open ffts device error, fd= -1, errno=12.
日志显示:
-------> LiveEventBusCore get <------ [LiveEventBus] postValue:[object Object] observer:[object Object] owner:3 -------> LiveEventBusCore get <------ [LiveEventBus] message received: [object Object] -------> LiveEventBusCore get <------ [LiveEventBus] postValue:[object Object] observer:[object Object] owner:3 -------> LiveEventBusCore get <------ [LiveEventBus] message received: [object Object] -------> LiveEventBusCore get <------ [LiveEventBus] postValue:[object Object] observer:[object Object] owner:3 -------> LiveEventBusCore get <------ [LiveEventBus] message received: [object Object] -------> LiveEventBusCore get <------ [LiveEventBus] postValue:[object Object] observer:[object Object] owner:3
应用未考虑高负载下的处理逻辑进行优化,高并发下载导致手机内存耗尽,下载线程崩溃暂停。
对高并发下的下载场景进行优化,使用TaskPool提供的多任务优先级调度机制,根据业务需求合理设置优先级。参考应用并发设计。