gpt4 book ai didi

java - 相机卡住 (Android)

转载 作者:太空宇宙 更新时间:2023-11-04 15:13:20 29 4
gpt4 key购买 nike

我正在尝试制作使用相机的应用程序。我分到某个类(class)。

  1. CameraSurface(扩展 SurfaceView)
  2. ViewElement(扩展 View )
  3. MainActivity(扩展 ViewElement)
  4. SecondActivity(扩展 ViewElement)

我在 list 中声明为 Activity 的类只是 MainActivity 和 SecondActivity。首先,当应用程序运行时,它将执行显示 CameraSurface 的 MainActivity(ViewElement 中有 CameraSurface 类的实例,该实例添加到 ViewElement 类中的 ContentView)。在 MainActivity 中有一个按钮可以移动到 MainActivity 到 SecondActivity。我使用这段代码:

new Handler().postDelayed(new Runnable()
{
public void run()
{
MainActivity.this.startActivity(new Intent(MainActivity.this, SecondActivity.class));
}
}
, 5000L);

SecondActivity 与 MainActivity 相同(只是有不同的按钮,但仍然使用相机),问题是当应用程序执行 SecondActivity 相机时卡住。我仍然不知道为什么会发生这种情况。在 CameraSurface 类中,如果相机实例不等于 null,则有部分用于释放相机。有人知道我的申请会发生什么吗?

有关更多信息,我在 logcat 上获取:

01-14 16:38:23.899: D/memalloc(12581): /dev/pmem: Unmapping buffer base:0x506f0000 size:1843200 offset:1228800

01-14 16:38:23.899: D/memalloc(12581): /dev/pmem: Unmapping buffer base:0x509b2000 size:614400 offset:0

01-14 16:38:23.899: D/memalloc(12581): /dev/pmem: Unmapping buffer base:0x50ca4000 size:1228800 offset:614400

01-14 16:38:24.389: D/memalloc(12581): /dev/pmem: Unmapping buffer base:0x50dd0000 size:4829184 offset:4804608

最佳答案

我可以想到两个原因:1)您在两个 Activity 上都调用相机表面,请尝试在启动第二个 Activity 之前释放相机。2)由于您使用SurfaceView作为Camera,该操作尝试在OpenGL线程上运行。 试试这个

runOnUiThread(new Runnable(){
public void run() {
//make call to your second activity
}
}

关于java - 相机卡住 (Android),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21108607/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com