小编pre*_*ree的帖子

Android JNI - 调用AttachCurrentThread而不使用DetachCurrentThread

我一直在阅读关于JNI的东西,似乎无法弄清楚如果线程启动会发生什么 - >调用AttachCurrentThread() - >进行一些JNI调用 - >线程退出.

理想情况下,我们应该在线程退出之前调用DetachCurrentThread(),但是,如果应用程序没有这样做会有什么影响?它会导致内存泄漏或任何其他问题吗?

java-native-interface android android-ndk

17
推荐指数
1
解决办法
2万
查看次数

android - 使用没有surfaceview或textureview的相机

我一直试图弄清楚是否有办法使用相机拍摄视频/图片而不定义surfaceview或textureview.我找到了这个链接:使用没有表面视图的Android相机

我在我的nexus平板电脑上使用了这个技巧和textureview,但没有运气!此外,http://handycodeworks.com/?p = 19表示此方法不适用于所有设备.

有没有人知道是否有办法做到这一点?或者它只是android框架根本不支持的东西,GUI必须在布局中有一些表面/纹理元素?然后唯一的选择就是操纵布局,使其在屏幕上根据应用程序要求不可见.

编辑1:如上面链接http://handycodeworks.com/?p=19中所述,我尝试了以下代码:

public class CameraCapture {

  // I pass the getApplicationContext() from the main activity.
  public void startCameraCapture(Context contx) {
    SurfaceView sv = new SurfaceView(contx);
    mCamera = Camera.open();
    mCamera.setPreviewDisplay(sv.getHolder());
    mCamera.setPreviewCallback(new PreviewCallback() {
      @Override
      public void onPreviewFrame(byte[] data, Camera camera) {
        Log.v("TAG", "on preview frame called");
      }
    Thread.sleep(1000);
    mCamera.startPreview();
}
Run Code Online (Sandbox Code Playgroud)

但是,onPreviewFrame()从未被调用过.我错过了什么吗?

编辑2:

是否可以在本机代码中执行?使用OpenCV捕获视频/使用没有GUI元素的相机(surfaceview/textureview)?我查看了这个链接:http://docs.opencv.org/trunk/doc/tutorials/introduction/android_binary_package/dev_with_OCV_on_Android.html#application-development-with-static-initialization.但是,它们还显示示例代码,其中包含在主布局xml文件中定义的某些摄像机视图元素.

android opencv android-intent android-layout android-camera

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

opencv C++从android NV21图像数据缓冲区创建Mat对象

我已经实现了一个启动摄像头的android应用程序,并使用JNI接口将所有预览缓冲区发送到本机组件.由于预览数据是NV21图像格式,我需要从中创建一个cv :: Mat实例.我搜索了它,发现了以下解决方案:

cv::Mat _yuv(height, width, CV_8UC1, (uchar *) imagebuffer);

where imagebuffer is jbyte*
Run Code Online (Sandbox Code Playgroud)

但是,请勿在输出图像中获得预期的图像.这些都充满了一些随机的线等.有谁知道我究竟能做到这一点?

c++ android opencv

9
推荐指数
1
解决办法
8336
查看次数

postgres中的共享缓冲区

我对postgres中共享缓冲区所起的作用感到好奇.共享缓冲区维护所有最近访问的磁盘页面和脏页面.如果需要引入新页面并且共享缓冲区中没有剩余空间,则会将受害者脏页写回磁盘.

但是,我对此声明感到困惑 - PostgreSQL依赖于操作系统进行缓存.(http://www.varlena.com/GeneralBits/Tidbits/perf.html#shbuf)"

postgres如何依赖于操作系统进行缓存?它如何改变共享缓冲区的行为?

postgresql

8
推荐指数
2
解决办法
9873
查看次数

android onServiceConnected()是在一个单独的线程中调用的?

我一直在寻找一个明确的答案,但无法在任何地方找到它.当Android应用程序尝试与服务建立连接并实现ServiceConnection方法(onServiceConnected()和onServiceDisconnected())时,这些回调函数是在单独的线程中运行还是在主UI线程中运行?任何的想法?

java android android-intent android-service

8
推荐指数
1
解决办法
2876
查看次数

应用程序内的Android远程服务与单独的应用程序

我试图弄清楚编写一个Android远程服务作为我的客户端应用程序的一部分(使用android:process =":remote")与使其成为一个单独的服务应用程序的利弊.

在这两种情况下,服务都将在其自己的独立进程中运行并拥有自己的堆等.但是,当我们将它作为一个单独的应用程序时,必须有一些差异,因为它将拥有自己的应用程序沙箱.我根据场景找到了很多使用它们和首选方法的例子,但我试图了解它的内部技术细节.

有关此的任何良好信息来源?

编辑:如果服务和客户端进程在同一个应用程序中运行,对应用程序对象/上下文的影响是什么.它会被其中一个进程覆盖吗?或者每个进程都有两个应用程序对象,这些对象听起来不正确是一个应用程序的一部分.

android android-service android-service-binding

8
推荐指数
1
解决办法
1081
查看次数

ImageMagick采样系数

我一直在使用ImageMagick命令行工具对图像进行jpeg压缩。但是,我试图了解采样因子的作用。它说采样因子用于指定块大小,即8x8或16x16。但是,如果省略此参数,则找不到使用的默认值。

另外,我尝试使用以下命令来获取图像的属性:

确定-verbose image.jpg

它显示采样系数值为1x1、1x1、1x1。这是什么意思?应该是8x8或16x16或32x32。

有人可以给我一个想法,在哪里找到这些细节吗?

imagemagick imagemagick.net node-imagemagick imagemagick-convert

7
推荐指数
1
解决办法
8872
查看次数

OpenCV Mat对象 - 获取数据长度

在OpenCV中,我能够使用C++中的VideoCapture捕获帧,但是,当我尝试从帧中获取数据并计算长度时,它只返回0.

以下是我的示例代码:

VideoCapture cap(0);
for(;;) {
  Mat frame;
  cap >> frame;
  int length = strlen((char*) frame.data); // returns 0
}
Run Code Online (Sandbox Code Playgroud)

正如我上面提到的,如果我将帧保存在PNG文件中,我实际上可以看到图像,所以我无法理解为什么数据长度为零.

任何线索?

c++ opencv

5
推荐指数
2
解决办法
8672
查看次数

带有 Visual Studio 的 ImageMagick

我正在尝试在 Visual Studio 2010 中编写一个示例 ImageMagick 程序。我的系统上已经安装了 ImageMagick 的二进制分发版,因为我可以使用 ImageMagick 的命令行界面。

但是,当我尝试在我的 C++ 程序中包含“Magick++.h”时,它说它无法打开源文件。

我找到了有关从源代码编译和构建 ImageMagick 的说明,但是是否可以更改我的 Visual Studio 项目设置,以便它可以从已安装的 ImageMagick 版本中选择必要的引用/库?

imagemagick imagemagick.net node-imagemagick imagemagick-convert

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

Android NDK异常处理

我正在尝试在编写基于NDK的库时找出对异常处理的支持.从这些链接:http://developer.android.com/tools/sdk/ndk/index.html和http://www.kandroid.org/ndk/docs/CPLUSPLUS-SUPPORT.html,我能理解的是为NDK修订版> r5添加了C++异常处理,仅适用于已启用的"gnustl"运行时.但是,NDK是否支持C++ STL?如果是这样,它是否也支持STL异常处理?对此有何评论?

android stl android-ndk

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