私のアプリケーションでは、.net Web サービスからデータを取得するために ksoap2 を使用しています。私たちが転送しているデータは「xml文字列」という形式になっています。1000 件のアイテム レコードにアクセスすれば問題なく動作します。しかし、サーバーから 12000 個のアイテム レコードにアクセスしようとすると、logcat に「5943816 バイトの割り当てでメモリ不足」というエラーが表示されます。
////////////////// サーバーからデータを取得するための私のコード、
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
request.addProperty("myparameter", myparameter);
envelope.dotNet = true;// to handle .net services asmx/aspx
envelope.setOutputSoapObject(request);
HttpTransportSE ht = new HttpTransportSE(MyURL);
ht.debug = true;
ht.call(SOAP_ACTION, envelope);
// to change dialog
publishProgress("Moving data file");
SoapObject resultString = (SoapObject) envelope.getResponse();
//////////////////
これはヒープサイズの問題が原因であることを知っています。しかし、私はこれを解決する方法を知りません.誰かがこれに対する解決策を持っているなら、私を助けてください..