小编Vik*_*tor的帖子

SurfaceView和View之间的区别?

什么时候有必要,或者更好地使用SurfaceView而不是View

graphics android 2d

207
推荐指数
6
解决办法
10万
查看次数

Android上的本机堆的最大大小?

如果我理解正确,一个android进程有两个堆 - 一个由VM管理,一个是本机.

VM堆的大小不能超过16mb(至少,某些手机上的此值可能会更高).

但是本机堆的最大大小呢?

16 MB限制似乎不是硬限制,因为应用程序可以通过NDK分配超过16mb,但是当使用大量内存时,操作系统将开始杀死其他进程以及可能的前台进程.

操作系统何时开始以这种方式运行?当本地堆+ VM堆大小超过16mb?

Debug.getNativeHeapSize()给出了本机堆的大小,但是有一个函数可以检查组合的本机+ VM堆大小吗?

很想知道知道这是如何工作的人!

memory android memory-management android-ndk

12
推荐指数
1
解决办法
4481
查看次数

静态链接使用不同版本的C运行时库构建的库,好还是坏?

请考虑以下情形:应用程序链接到第三方库A.

A使用MSVC 2008构建,并且静态链接(即使用/ MT构建)到C运行时库v9.0.

该应用程序使用MSVC 2005构建,并静态链接到A和(使用/ MT)到C运行时库v8.0.

我可以看到这个问题 - 例如,如果在运行时库版本之间的标题中更改了类型.

是否注意使运行时库头在版本之间保持兼容,或者是否应始终确保所有静态链接库都链接到运行时库的相同版本?

c++ crt msvcrt static-linking visual-c++

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

卸载DLL时内存泄漏是否会导致主机进程泄漏?

考虑这种情况:

dll = LoadDLL()
dll->do()

...
void do() {
    char *a = malloc(1024);
}
...

UnloadDLL(dll);
Run Code Online (Sandbox Code Playgroud)

此时,在调用malloc()时分配的1k是否可以再次用于主机进程?DLL静态链接到CRT.

c++ dll winapi memory-management crt

8
推荐指数
3
解决办法
5298
查看次数

Java JNI - 将C中分配的资源与java对象相关联?

我想在C中分配一些内存并使其与java对象实例相关联,如下所示:

void configure(JNIEnv *object, jobject obj, ....) {
  char *buf = new char[1024];
  // associated <buf> with <obj> somehow
}
Run Code Online (Sandbox Code Playgroud)

然后在java对象被垃圾收集时释放内存 - 我可以通过从java对象的finalize()方法调用JNI函数来实现.

问题是,如何将C指针与java对象相关联?在对象中保留一个字段并将指针强制转换为?有没有更好的办法?

c c++ java java-native-interface android-ndk

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

Android上常见的性能陷阱?

什么是最容易犯的错误,可以成为Android上的性能接收器?

文档提到"一些浮点运算"可能是"毫秒级" - 有人测试过这个吗?

为了便于讨论,让我们假设它在G1 /类似设备上运行.

java optimization performance android dalvik

5
推荐指数
1
解决办法
1309
查看次数

Visual Studio的预编译头包含哪些内容?

该问题涉及Visual Studio编译器创建的.pch二进制文件的内容.它包含什么?它只是头文件的解析树,还是对象代码?

考虑这个例子:

// myheader.h
#include <vector>
class A {
public:
  void add(int i) { v.push_back(i); }
private:
  std::vector<int> v;
};
Run Code Online (Sandbox Code Playgroud)

在预编译的集合中包含此标头会导致vector <int>的完整模板实例化被编译并添加到.pch中吗?

提供更多背景; 如果只预编译了解析树,这意味着每个编译单元仍然会创建一个实例化模板的目标代码,导致编译和链接时间增加.因此,即使启用了预编译头,"统一构建"/减少编译单元仍然是减少构建时间的相关因素.

c++ templates precompiled-headers visual-studio

5
推荐指数
1
解决办法
618
查看次数

如何在Windows XP/Vista上创建临时文件的路径

这样做的最佳方式是什么?tmpnam()返回驱动器根目录中文件的路径,这需要Windows Vista的管理员权限,因此这不是一个选项.

windows temporary-files windows-vista

3
推荐指数
1
解决办法
4367
查看次数

故事板没有堆叠?

我正在开发一个由三个屏幕组成的应用程序 - 摄像头捕获屏幕(A),处理屏幕(B)和显示处理结果(C)的屏幕.应用程序从A转换为B再转换为C,然后再转回A,依此类推(即A-> B-> C-> A-> B ...).

如果我使用故事板segues(A-> B,B-> C,C-> A)执行此操作,控制器堆栈将继续增长.

解决这个问题的好设计是什么?

iphone storyboard ipad ios

3
推荐指数
1
解决办法
77
查看次数

未压缩纹理的最佳图像格式?

我正在选择将用作所有内部纹理的存储格式的图像格式.该格式将用作源格式,从中生成不同平台和配置的压缩纹理,因此需要涵盖所有可能的纹理类型(2D,立方体,volymetric,不同数量的mip-maps,浮点像素格式,等)并完全无损.此外,格式必须能够保留一些元数据.

目前使用自定义格式,但是对于艺术家来说,通常可用的格式将更容易使用,因为它在大多数图像编辑器中是可见的.

我曾想过使用DDS,但据我所见,这种格式不支持元数据.

所有建议赞赏!

textures image

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