Android S:SurfaceFlinger之SurfaceControl.java的用途

本文介绍了SurfaceControl的概念,它作为由系统合成器管理的非屏幕Surface的句柄,同时也是缓冲区源和有关如何显示缓冲区的元数据的组合。通过SurfaceControl可以提交缓冲区进行合成,并利用SurfaceControl.Transaction来调整其显示属性。
部署运行你感兴趣的模型镜像

Handle to an on-screen Surface managed by the system compositor.
SurfaceControl是一个句柄,该句柄是指向由系统合成器管理的屏幕上Surface。

The SurfaceControl is a combination of a buffer source, and metadata about how to display the buffers.
SurfaceControl是缓冲区源和有关如何显示缓冲区的元数据的组合。

By constructing a {@link Surface} from this SurfaceControl you can submit buffers to be composited.
通过从此SurfaceControl构建{@link Surface},可以提交要合成的缓冲区。

Using {@link SurfaceControl.Transaction} you can manipulate various properties of how the buffer will be displayed on-screen.
使用{@link SurfaceControl.Transaction}可以处理缓冲区在屏幕上显示方式的各种属性。

SurfaceControl’s are arranged into a scene-graph like hierarchy, and as such any SurfaceControl may have a parent.
SurfaceControl被安排成类似场景图的层次结构,因此,任何SurfaceControl都可能有父对象。

Geometric properties like transform, crop, and Z-ordering will be inherited from the parent,
几何特性(如变换、裁剪和Z顺序)将从父对象继承,
as if the child were content in the parents buffer stream.
就好像子对象是父缓存流中的内容一样。

77  /**
78   * Handle to an on-screen Surface managed by the system compositor. The SurfaceControl is
79   * a combination of a buffer source, and metadata about how to display the buffers.
80   * By constructing a {@link Surface} from this SurfaceControl you can submit buffers to be
81   * composited. Using {@link SurfaceControl.Transaction} you can manipulate various
82   * properties of how the buffer will be displayed on-screen. SurfaceControl's are
83   * arranged into a scene-graph like hierarchy, and as such any SurfaceControl may have
84   * a parent. Geometric properties like transform, crop, and Z-ordering will be inherited
85   * from the parent, as if the child were content in the parents buffer stream.
86   */
87  public final class SurfaceControl implements Parcelable {

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

11-25 11:41:53.853 27223 27223 E AndroidRuntime: *** FATAL EXCEPTION IN SYSTEM PROCESS: main 11-25 11:41:53.853 27223 27223 E AndroidRuntime: android.view.Surface$OutOfResourcesException: NO_MEMORY 11-25 11:41:53.853 27223 27223 E AndroidRuntime: at android.view.SurfaceControl.nativeCreate(Native Method) 11-25 11:41:53.853 27223 27223 E AndroidRuntime: at android.view.SurfaceControl.<init>(SurfaceControl.java:1665) 11-25 11:41:53.853 27223 27223 E AndroidRuntime: at android.view.SurfaceControl.<init>(Unknown Source:0) 11-25 11:41:53.853 27223 27223 E AndroidRuntime: at android.view.SurfaceControl$Builder.build(SurfaceControl.java:1321) 11-25 11:41:53.853 27223 27223 E AndroidRuntime: at com.android.server.wm.WindowContainer.setInitialSurfaceControlProperties(WindowContainer.java:804) 11-25 11:41:53.853 27223 27223 E AndroidRuntime: at com.android.server.wm.WindowContainer.createSurfaceControl(WindowContainer.java:800) 11-25 11:41:53.853 27223 27223 E AndroidRuntime: at com.android.server.wm.WindowContainer.onParentChanged(WindowContainer.java:781) 11-25 11:41:53.853 27223 27223 E AndroidRuntime: at com.android.server.wm.WindowContainer.setParent(WindowContainer.java:753) 11-25 11:41:53.853 27223 27223 E AndroidRuntime: at com.android.server.wm.WindowContainer.addChild(WindowContainer.java:983) 11-25 11:41:53.853 27223 27223 E AndroidRuntime: at com.android.server.wm.DisplayAreaPolicyBuilder$PendingArea.instantiateChildren(DisplayAreaPolicyBuilder.java:963) 11-25 11:41:53.853 27223 27223 E AndroidRuntime: at com.android.server.wm.DisplayAreaPolicyBuilder$HierarchyBuilder.build(DisplayAreaPolicyBuilder.java:607) 11-25 11:41:53.853 27223 27223 E AndroidRuntime: at com.android.server.wm.DisplayAreaPolicyBuilder$HierarchyBuilder.-$$Nest$mbuild(Unknown Source:0) 11-25 11:41:53.853 27223 27223 E AndroidRuntime: at com.android.server.wm.DisplayAreaPolicyBuilder.build(DisplayAreaPolicyBuilder.java:352) 11-25 11:41:53.853 27223 27223 E AndroidRuntime: at com.android.server.wm.DisplayAreaPolicy$DefaultProvider.instantiate(DisplayAreaPolicy.java:136) 11-25 11:41:53.853 27223 27223 E AndroidRuntime: at com.android.server.wm.DisplayContent.<init>(DisplayContent.java:1405) 11-25 11:41:53.853 27223 27223 E AndroidRuntime: at com.android.server.wm.RootWindowContainer.setWindowManager(RootWindowContainer.java:1394) 11-25 11:41:53.853 27223 27223 E AndroidRuntime: at com.android.server.wm.ActivityTaskManagerService.setWindowManager(ActivityTaskManagerService.java:1185) 11-25 11:41:53.853 27223 27223 E AndroidRuntime: at com.android.server.am.ActivityManagerService.setWindowManager(ActivityManagerService.java:2257) 11-25 11:41:53.853 27223 27223 E AndroidRuntime: at com.android.server.SystemServer.startOtherServices(SystemServer.java:1944) 11-25 11:41:53.853 27223 27223 E AndroidRuntime: at com.android.server.SystemServer.run(SystemServer.java:1074) 11-25 11:41:53.853 27223 27223 E AndroidRuntime: at com.android.server.SystemServer.main(SystemServer.java:709) 11-25 11:41:53.853 27223 27223 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method) 11-25 11:41:53.853 27223 27223 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:613) 11-25 11:41:53.853 27223 27223 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1052) 这段上层JE重启分析出什么
最新发布
11-27
11-23 18:08:42.224 1995 4914 E AndroidRuntime: *** FATAL EXCEPTION IN SYSTEM PROCESS: AppDeath #1 11-23 18:08:42.224 1995 4914 E AndroidRuntime: android.view.Surface$OutOfResourcesException: NO_MEMORY 11-23 18:08:42.224 1995 4914 E AndroidRuntime: at android.view.SurfaceControl.nativeCreate(Native Method) 11-23 18:08:42.224 1995 4914 E AndroidRuntime: at android.view.SurfaceControl.<init>(SurfaceControl.java:1665) 11-23 18:08:42.224 1995 4914 E AndroidRuntime: at android.view.SurfaceControl.<init>(Unknown Source:0) 11-23 18:08:42.224 1995 4914 E AndroidRuntime: at android.view.SurfaceControl$Builder.build(SurfaceControl.java:1321) 11-23 18:08:42.224 1995 4914 E AndroidRuntime: at com.android.server.wm.WindowContainer.setInitialSurfaceControlProperties(WindowContainer.java:804) 11-23 18:08:42.224 1995 4914 E AndroidRuntime: at com.android.server.wm.Task.setInitialSurfaceControlProperties(Task.java:3420) 11-23 18:08:42.224 1995 4914 E AndroidRuntime: at com.android.server.wm.WindowContainer.migrateToNewSurfaceControl(WindowContainer.java:840) 11-23 18:08:42.224 1995 4914 E AndroidRuntime: at com.android.server.wm.Task.migrateToNewSurfaceControl(Task.java:2607) 11-23 18:08:42.224 1995 4914 E AndroidRuntime: at com.android.server.wm.TaskOrganizerController$TaskOrganizerState.removeTask(TaskOrganizerController.java:481) 11-23 18:08:42.224 1995 4914 E AndroidRuntime: at com.android.server.wm.TaskOrganizerController$TaskOrganizerState.-$$Nest$mremoveTask(Unknown Source:0) 11-23 18:08:42.224 1995 4914 E AndroidRuntime: at com.android.server.wm.TaskOrganizerController.onTaskVanished(TaskOrganizerController.java:1048) 11-23 18:08:42.224 1995 4914 E AndroidRuntime: at com.android.server.wm.Task.sendTaskVanished(Task.java:4944) 11-23 18:08:42.224 1995 4914 E AndroidRuntime: at com.android.server.wm.Task.setTaskOrganizer(Task.java:4964) 11-23 18:08:42.224 1995 4914 E AndroidRuntime: at com.android.server.wm.Task.setTaskOrganizer(Task.java:4950) 11-23 18:08:42.224 1995 4914 E AndroidRuntime: at com.android.server.wm.Task.removeImmediately(Task.java:3105) 11-23 18:08:42.224 1995 4914 E AndroidRuntime: at com.android.server.wm.Task.removeIfPossible(Task.java:826) 11-23 18:08:42.224 1995 4914 E AndroidRuntime: at com.android.server.wm.Task.removeChild(Task.java:1730) 11-23 18:08:42.224 1995 4914 E AndroidRuntime: at com.android.server.wm.Task.removeChild(Task.java:1666) 11-23 18:08:42.224 1995 4914 E AndroidRuntime: at com.android.server.wm.WindowContainer.removeImmediately(WindowContainer.java:1052) 11-23 18:08:42.224 1995 4914 E AndroidRuntime: at com.android.server.wm.WindowToken.removeImmediately(WindowToken.java:362) 11-23 18:08:42.224 1995 4914 E AndroidRuntime: at com.android.server.wm.ActivityRecord.removeImmediately(ActivityRecord.java:5348) 11-23 18:08:42.224 1995 4914 E AndroidRuntime: at com.android.server.wm.WindowToken.removeIfPossible(WindowToken.java:267) 11-23 18:08:42.224 1995 4914 E AndroidRuntime: at com.android.server.wm.ActivityRecord.onRemovedFromDisplay(ActivityRecord.java:5411) 11-23 18:08:42.224 1995 4914 E AndroidRuntime: at com.android.server.wm.DisplayContent.removeAppToken(DisplayContent.java:1737) 11-23 18:08:42.224 1995 4914 E AndroidRuntime: at com.android.server.wm.ActivityRecord.removeFromHistory(ActivityRecord.java:4966) 11-23 18:08:42.224 1995 4914 E AndroidRuntime: at com.android.server.wm.ActivityRecord.handleAppDied(ActivityRecord.java:5325) 11-23 18:08:42.224 1995 4914 E AndroidRuntime: at com.android.server.wm.WindowProcessController.handleAppDied(WindowProcessController.java:1709) 11-23 18:08:42.224 1995 4914 E AndroidRuntime: at com.android.server.wm.ActivityTaskManagerService$LocalService.handleAppDied(ActivityTaskManagerService.java:7504) 11-23 18:08:42.224 1995 4914 E AndroidRuntime: at com.android.server.am.ActivityManagerService.handleAppDiedLocked(ActivityManagerService.java:3723) 11-23 18:08:42.224 1995 4914 E AndroidRuntime: at com.android.server.am.ActivityManagerService.appDiedLocked(ActivityManagerService.java:3909) 11-23 18:08:42.224 1995 4914 E AndroidRuntime: at com.android.server.am.ActivityManagerServiceExtImpl$2.run(ActivityManagerServiceExtImpl.java:2466) 11-23 18:08:42.224 1995 4914 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1156) 11-23 18:08:42.224 1995 4914 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:651) 11-23 18:08:42.224 1995 4914 E AndroidRuntime: at com.android.server.DeathRecipientTaskExecutors$1.lambda$newThread$0(DeathRecipientTaskExecutors.java:51) 11-23 18:08:42.224 1995 4914 E AndroidRuntime: at com.android.server.DeathRecipientTaskExecutors$1$$ExternalSyntheticLambda0.run(D8$$SyntheticClass:0) 11-23 18:08:42.224 1995 4914 E AndroidRuntime: at java.lang.Thread.run(Thread.java:1119) 安卓上层JE重启,这堆栈分析得出什么
11-25
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值