Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
c64cebe1
D
Docs
项目概览
OpenHarmony
/
Docs
大约 2 年 前同步成功
通知
161
Star
293
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
c64cebe1
编写于
7月 21, 2023
作者:
Z
zengyawen
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update docs
Signed-off-by:
N
zengyawen
<
zengyawen1@huawei.com
>
上级
e8adb561
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
64 addition
and
4 deletion
+64
-4
zh-cn/application-dev/media/camera-preformance-imporvement.md
...n/application-dev/media/camera-preformance-imporvement.md
+64
-4
zh-cn/application-dev/media/figures/deferred-surface-scene.png
.../application-dev/media/figures/deferred-surface-scene.png
+0
-0
未找到文件。
zh-cn/application-dev/media/camera-preformance-imporvement.md
浏览文件 @
c64cebe1
...
@@ -10,7 +10,11 @@
...
@@ -10,7 +10,11 @@
延时配流方案是把配流启流与surface解耦,在组件尚未给应用surface之前,可以先进行配流启流,只需要在启流结束之前提供surface,可以提升启动速度,防止影响其他启动优化方案的落地。
延时配流方案是把配流启流与surface解耦,在组件尚未给应用surface之前,可以先进行配流启流,只需要在启流结束之前提供surface,可以提升启动速度,防止影响其他启动优化方案的落地。
### 调用流程

优化前:配流动作依赖surface对象,surface对象依赖于UI加载完成。
优化后:配流动作不依赖surface对象,界面加载和配流并行执行。
### 接口说明
### 接口说明
...
@@ -48,12 +52,53 @@ function async preview(context: Context, cameraInfo: camera.Device, previewProfi
...
@@ -48,12 +52,53 @@ function async preview(context: Context, cameraInfo: camera.Device, previewProfi
通过相机快速缩略图技术,相机拍照可单独输出拇指缩略图,在真图没有上来前,提前上报一张缩略图给应用去显示,提升shot2see用户感知拍照速度。
通过相机快速缩略图技术,相机拍照可单独输出拇指缩略图,在真图没有上来前,提前上报一张缩略图给应用去显示,提升shot2see用户感知拍照速度。
### 调用流程
### 接口说明
### 接口说明
详细的API参考说明,请参考
[
Camera API文档
](
../reference/apis/js-apis-camera.md
)
。
| 接口 | 说明 |
| ---- | ---- |
| isQuickThumbnailSupported() : boolean | 是否支持快速缩略图。 |
| enableQuickThumbnail(enabled:bool): void | 使能/去使能快速缩略图。 |
| on(type: 'quickThumbnail', callback: AsyncCallback
\<
image.PixelMap>): void | 相机缩略图监听回调。 |
> **说明:**
>
> - isQuickThumbnailSupported及enableQuickThumbnail接口的调用需要在CaptureSession.addOutput、CaptureSession.addInput后,CaptureSession.commitConfig()之前。
> - on接口需要在enableQuickThumbnail(true)之后生效。
### 开发示例
### 开发示例
```
js
import
camera
from
'
@ohos.multimedia.camera
'
this
.
cameraManager
=
camera
.
getCameraManager
(
globalThis
.
abilityContext
);
let
cameras
=
this
.
cameraManager
.
getSupportedCameras
()
// 创建CaptureSession实例
this
.
captureSession
=
await
this
.
cameraManager
.
createCaptureSession
()
// 开始配置会话
await
this
.
captureSession
.
beginConfig
()
// 把CameraInput加入到会话
this
.
cameraInput
=
await
this
.
cameraManager
.
createCameraInput
(
cameras
[
0
])
await
this
.
cameraInput
.
open
()
await
this
.
captureSession
.
addInput
(
this
.
cameraInput
)
// 把PhotoOutPut加入到会话
this
.
photoOutPut
=
await
this
.
cameraManager
.
createPhotoOutput
(
photoProfile
,
surfaceId
)
await
this
.
captureSession
.
addOutput
(
this
.
photoOutPut
)
boolean
isSupported
=
this
.
photoOutPut
.
isQuickThumbnailSupported
()
if
(
isSupported
)
{
// 使能快速缩略图
this
.
photoOutPut
.
enableQuickThumbnail
(
true
)
}
this
.
photoOutPut
.
on
(
'
quickThumbnail
'
,
(
err
,
pixelmap
)
=>
{
if
(
err
||
pixelmap
===
undefined
)
{
Logger
.
error
(
this
.
tag
,
'
photoOutPut on thumbnail failed
'
)
return
}
// 显示或保存pixelmap
this
.
showOrSavePicture
(
pixelmap
)
})
```
## 预热启动
## 预热启动
...
@@ -62,8 +107,23 @@ function async preview(context: Context, cameraInfo: camera.Device, previewProfi
...
@@ -62,8 +107,23 @@ function async preview(context: Context, cameraInfo: camera.Device, previewProfi
相机启动方案是把“相机设备打开”这个动作提前到相机应用启动之前,即在用户点击相机图标,
相机启动方案是把“相机设备打开”这个动作提前到相机应用启动之前,即在用户点击相机图标,
还没等相机应用启动的时候,触发相机设备打开的动作,从而缩短相机应用内启动相机的流程,加速相机启动。使用预热启动前后的相机应用流程对比如下:
还没等相机应用启动的时候,触发相机设备打开的动作,从而缩短相机应用内启动相机的流程,加速相机启动。使用预热启动前后的相机应用流程对比如下:


### 接口说明
### 接口说明
详细的API参考说明,请参考
[
Camera API文档
](
../reference/apis/js-apis-camera.md
)
。
| 接口 | 说明 |
| ---- | ---- |
| isPreLaunchSupported(camera: CameraDevice) : boolean | 判断指定cameraDevice是否支持预热启动。 |
| setPreLaunchConfig(camera: CameraDevice) : void | 配置相机预热参数。 |
| preLaunch() : void | 用户点击系统相机图标,拉起相机应用的同时调用,下发预热请求,使能相机预热启动。 |
### 调用流程
### 开发示例
### 开发示例
使用该功能前需要申请权限:ohos.permission.CAMERA
具体申请方式及校验方式,请参考
[
访问控制授权申请指导
](
../security/accesstoken-guidelines.md
)
。
zh-cn/application-dev/media/figures/deferred-surface-scene.png
0 → 100644
浏览文件 @
c64cebe1
63.4 KB
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录