小编Dro*_*man的帖子

抓住轻扫以解雇事件

我正在使用android通知在服务完成(成功或失败)后提醒用户,并且我想在完成该过程后删除本地文件.

我的问题是,如果发生故障 - 我想让用户进行"重试"选项.如果他选择不重试并解除通知我想删除为处理目的而保存的本地文件(图像......).

有没有办法捕获通知的刷卡到解雇事件?

service notifications android temporary-files swipe

80
推荐指数
2
解决办法
4万
查看次数

在自定义视图中注册本地广播

我创建了一个自定义视图,可以放在应用程序的不同位置.我无法避免在视图中使用BroadcastReceiver从应用程序的其余部分获取消息.

我已经读过它了不推荐(我应该在我自己的视图中取消注册哪个?),但是如果我选择使用它,是否有一个从BroadcastManager注销视图的地方?

android view broadcastreceiver

6
推荐指数
1
解决办法
2265
查看次数

在eglSwapBuffers之后保留后台缓冲区内容

我正在Android和原生C++中实现一个用于Android的场景绘图egl 1.1.目前正在使用android's glSurfaceView- 它允许我绘制一个后台缓冲区,它显示在"onDrawFrame"的末尾 - 当后台缓冲区和前台缓冲区交换时.

我的问题是这个 - 我需要能够显示后台缓冲区并继续写入,就像我没有交换一样.这种需求背后的原因是场景非常大,并且每帧构建它是不可能的,也不等待绘图的结束 - 因为用户将不得不等待太长时间.

换句话说-我需要建立现场递增.在渲染过程中的某个时刻,我决定它的时间,我调用eglSwapBuffers哪个显示从后台缓冲区中绘制的内容,但是当我继续写入时,显然我正在写入不同步的"前前缓冲区". (不包含我到目前为止所绘制的内容).

据我所知,我唯一的选择是在交换之前复制后台缓冲区.伪:

  1. 画回到缓冲区
  2. Back Buffer 复制到temp Buffer
  3. 交换
  4. 临时缓冲区复制到(新)后台缓冲区
  5. 在缓冲区中绘制更多内容
  6. 等等...

我的问题 - 有没有办法做2,4步骤?

  • 就是glCopyPixels在这种情况下,有用吗?例?
  • glBlitFramebuffer吗?

或者我接近这一切都错了?

我已经做过的事情:

  • 我试着设置EGL_SWAP_BEHAVIOREGL_BUFFER_PRESERVED,但它似乎只在某些设备上(如在描述工作Khronos的笔记):

某些表面允许应用程序控制是否保留颜色缓冲区内容

  • 在每个帧中重新渲染场景 - 不可能.我已多次读到这是推荐的.

android opengl-es double-buffering egl

6
推荐指数
1
解决办法
2908
查看次数