画三角形报错bad_Alloc 原因,回调用错

surfaceCreated(SurfaceHolder holder):onSurfaceCreated(GL10 gl, EGLConfig c)是Android OpenGL ES开发中涉及Surface管理的两个关键方法,但它们属于不同类别的回调函数:

surfaceCreated(SurfaceHolder holder)

  • 所属类 ‌:SurfaceHolder的回调方法,用于监听Surface创建事件。当SurfaceView的Surface被创建时触发,通常用于初始化渲染线程或资源。 ‌
  • 典型用法 ‌:在SurfaceHolder.addCallback(this)中注册回调,确保在Surface可用后进行绘制操作。

onSurfaceCreated(GL10 gl, EGLConfig c)

  • 所属类‌:EGL的初始化回调,用于EGL配置完成后的初始化操作。通常在EGL初始化流程中调用,与OpenGL ES渲染线程相关。 ‌

关键区别

  1. 触发时机 ‌:surfaceCreated在Surface生命周期开始时触发;onSurfaceCreated在EGL配置完成后调用。
  2. 应用场景‌:前者用于自定义视图渲染或相机预览;后者涉及OpenGL ES的底层配置和渲染线程初始化。 ‌
  3. 线程安全 ‌:surfaceCreated需在非UI线程操作;onSurfaceCreated需在EGL初始化线程中调用。 ‌
相关推荐
百锦再7 小时前
第6章 结构体与方法
android·java·c++·python·rust·go
gustt7 小时前
用小程序搭建博客首页:从数据驱动到界面展示
android·前端·微信小程序
金鸿客7 小时前
Compose从相册和系统相机拍照获取照片
android
IT乐手8 小时前
Android 获取定位信息工具类
android
yangjunjin8 小时前
Android ANR的解决方案
android
低调小一8 小时前
Android Gradle 的 compileOptions 与 Kotlin jvmTarget 全面理解(含案例)
android·开发语言·kotlin
苦学编程啊12 小时前
【2025Flutter 入门指南】Dart SDK 安装与 VS Code 环境配置-Windows
android·dart
yuanManGan18 小时前
走进Linux的世界:初识操作系统(Operator System)
android·linux·运维
叶羽西19 小时前
Android15跟踪函数调用关系
android
消失的旧时光-194320 小时前
webView 的canGoBack/goBack 回退栈
android·webview