Android ndkを使用してC++ライブラリを使用しています。C++ ライブラリには、文字列の追加操作が多いメソッドがあります。したがって、私のコードでは、文字列オブジェクトを宣言してから、いくつかの追加操作を実行します。C++ ライブラリでは、そのメソッドが呼び出されすぎています。そして、私のAndroidアプリケーションはメソッドでクラッシュしています。CPU 使用率が高すぎます。私の質問は、なぜこれが起こっているのですか?reserve
標準操作を使用することは良い考えですか?
使用例:
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 回以上呼び出しています。もう1つ言及する必要があります。次のクラッシュ レポート シグナル 11 (SIGSEGV)、コード 1 (SEGV_MAPERR)、エラー アドレス 00000010 が表示されます。これはシグメンテーション エラーである可能性があります。