我正在使用使用 android ndk 的 C++ 库。在 c++ 库中,有一个方法有很多字符串追加操作。所以在我的代码中我只是声明一个字符串对象,然后对其进行几个附加操作。在 c++ 库中,该方法被调用太多。我的 android 应用程序在方法中崩溃了。CPU 使用率过高。我的问题是为什么会这样?reserve
使用 std操作是个好主意吗?
示例用法:
std::string GetString() const
{
std::string str1;
str1 = "something";
str1 += "somestring";
if(...) { str1 += "somestring"; str1 += "somestring"; }
str1 += "somestring";
str1 += "somestring";
str1 += "somestring";
str1 += "somestring";
str1 += "somestring"; s
str1 += "somestring";
return str1;
}
这个方法从 C++ lib 调用了 50 次或更多次。我还要提一件事。我收到以下崩溃报告信号 11 (SIGSEGV)、代码 1 (SEGV_MAPERR)、故障地址 00000010。可能这是一个 sigmentation 故障。