小编Kaj*_*una的帖子

onCreate() 在 Activity 停止(但未销毁)时调用。仅在安装后

我正在开发一个针对 Api 19 的应用程序,它基本上是一个处理草图。

我面临的问题是我的应用程序第一次运行时,在安装后,它运行良好,直到用户将其发送到后台。然后,如果他们再次单击应用程序图标,则调用 onCreate() 但活动不会被销毁或重新启动。一些变量会发生变化,从而产生奇怪的行为。

这仅在第一次使用该应用程序时发生。强制关闭它后,这种行为不会再发生(据我测试)。从 Eclipse 启动应用程序时也不会发生这种情况。

总而言之,这是第一次强制关闭后发生的情况(我认为是正确的):

  • 活动正在运行。

  • 活动通过主页按钮返回

  • 暂停()

  • 我们再次点击应用程序图标

  • onResume()

这就是 - 仅 - 安装后第一次运行应用程序时发生的情况:

  • 活动正在运行。

  • 活动通过主页按钮返回

  • 暂停()

  • 我们再次点击应用程序图标

  • onCreate() <-- !! 注意没有 onDestroy()

  • onResume()

我想知道我使用沉浸式模式是否与此有关,但是将 Api 目标版本更改为 10、删除沉浸式模式或在旧设备上进行测试都无济于事。当然,我在清单上使用了android:configChanges="orientation|keyboardHidden|screenSize"

有没有人知道可能导致这种情况的原因?这是一个常见问题还是我应该在我的代码中查找错误?也许是处理错误?

提前感谢您提供任何线索。我希望这是询问这个问题的正确方式。这是我的第一篇文章。

更新: 我的解释不是很准确,但显然有一个错误报告。这个问题在这里解释得更好:https : //code.google.com/p/android/issues/detail?id=26658

不幸的是,我无法使建议的解决方案起作用,在 onCreate() 中使用它会导致我的应用程序关闭或崩溃:

if (!isTaskRoot()) {
  finish();
  return;
} 
Run Code Online (Sandbox Code Playgroud)

android oncreate android-lifecycle onpause

4
推荐指数
1
解决办法
5913
查看次数

最快的canvas转ffmpeg方法

我有一个 Electron JS 应用程序,我可以在画布上绘制内容,然后将每个帧发送到 ffmpeg 以创建视频。它运作良好,但性能不是很好。这就是我目前的做法:

  • 我有一个图像流(新的 PassThrough)通过管道传输到我的 ffmpeg 进程
  • 当框架准备就绪时,我使用 canvas.toBlob() 将其转换为 blob
  • 我将 blob 转换为 arrayBuffer
  • 并使用 Buffer.from() 获取缓冲区
  • 我使用 .write() 将缓冲区写入图像流

我测量了每个步骤所需的时间,到目前为止,瓶颈是 canvas.toBlob

有没有办法更快地完成整个过程或 toBlob 步骤?我已经研究过 HTMLCanvasElement.captureStream() 但我不认为我可以将其通过管道传递给 ffmpeg。

我正在使用 P5js 进行绘图。似乎没有办法直接(更多地)绘制到 blob 或缓冲区。甚至 p5.Graphics 似乎也绘制到隐藏的画布https://p5js.org/reference/#/p5.Graphics

谢谢

html javascript ffmpeg html5-canvas p5.js

4
推荐指数
1
解决办法
2630
查看次数

使用 ffprobe 5 及更高版本提取旋转数据

4.4 之后的 ffprobe 版本不允许通过-select_streams v:0 -show_entries stream_tags=rotate读取视频方向。显然这是设计使然,另一种方法是读取显示矩阵侧数据,根据此票证: https: //trac.ffmpeg.org/ticket/9452

这适用于 Mac:

ffprobe -loglevel error -select_streams v:0 -show_entries side_data=rotation -of default=nw=1:nk=1 input.mp4
Run Code Online (Sandbox Code Playgroud)

但在 Windows 版 ffprobe 上,无论新旧版本,程序都会永远挂起。有可行的替代方案吗?或者如果我们需要旋转数据,我们应该坚持使用 ffprobe 4.4 吗?或者有没有办法在 ffmpeg 中阅读这个?

谢谢

ffmpeg rotation ffprobe

4
推荐指数
1
解决办法
1740
查看次数