常见问题解答
有什么问题?我们来帮你解答。
JadeView 是什么?
JadeView 支持哪些平台?
JadeView 的主要功能有哪些?
如何开始使用 JadeView?
JadeView 的内存管理机制是怎样的?
如何创建一个 WebView 窗口?
如何关闭窗口?
使用 close_window 函数关闭窗口:
int result = close_window(window_id);
如何设置窗口属性?
使用以下函数设置窗口属性:
set_window_title:设置窗口标题set_window_size:设置窗口大小set_window_position:设置窗口位置set_window_visible:设置窗口可见性
如何处理事件?
JadeView 提供了多种事件处理方式:
- 使用
set_window_event_handlers:(将在 0.2.1 版本移除)设置全局窗口事件处理器 - 使用
jade_on:注册特定事件处理器
详细的事件处理指南请参考 注册事件。
JadeView 支持哪些事件类型?
如何注销事件处理器?
使用 jade_off 函数注销事件处理器:
jade_off("window-created", callback_id);
如何设置主题?
使用 set_window_theme 函数设置主题:
set_window_theme(window_id, "Dark");
主题可选值:
- "Light":浅色主题
- "Dark":深色主题
- "System":跟随系统主题
详细的主题设置请参考 设置主题。
如何设置背景材料?
使用 set_window_backdrop 函数设置背景材料:
set_window_backdrop(window_id, "mica");
背景材料可选值:
- "mica":Mica 效果
- "micaalt":Mica Alt 效果
- "acrylic":Acrylic 效果
详细的背景材料设置请参考 背景材料。
如何使用 IPC 通信?
IPC 和事件有什么区别?
如何使用本地服务器?
使用 create_local_server 函数创建本地服务器:
char url[128];
create_local_server(
"C:\myapp\dist",
"myapp",
url,
sizeof(url)
);
// 使用返回的 URL 创建窗口
create_webview_window(url, 0, NULL, NULL);
详细的本地服务器使用请参考 创建服务器。
本地服务器的优势是什么?
- 安全:自定义协议 URL 不受浏览器同源策略限制
- 性能:直接访问本地文件,加载速度快
- 方便部署:将所有资源打包到本地目录,无需额外的 Web 服务器
- 支持 SPA:支持单页应用的路由处理
- 跨平台:在不同平台上表现一致
如何调试 JadeView 应用?
常见错误有哪些?
- 初始化失败:检查是否正确调用
JadeView_init函数 - 窗口创建失败:检查 URL 是否正确,窗口选项是否合理
- 内存泄漏:确保在应用程序退出前调用
cleanup_all_windows
如何避免内存泄漏?
- 及时调用
cleanup_all_windows清理资源 - 不要在回调函数中保存
CString的指针 - 确保所有回调函数正确返回
如何提高性能?
- 禁用不必要的功能(如背景限速)
- 合理设置窗口大小和位置
- 使用本地服务器访问本地文件
如何确保线程安全?
- 所有 API 函数都是线程安全的
- 事件处理可能在不同的线程中执行,需要注意线程安全性
- 使用互斥锁保护共享资源