Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/221.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android-Evernote API getContent()GC\u并发_Android_Evernote - Fatal编程技术网

Android-Evernote API getContent()GC\u并发

Android-Evernote API getContent()GC\u并发,android,evernote,Android,Evernote,我试图从Evernote Android API中获取注释的内容 我已经成功地使用该服务进行了身份验证,我可以执行“查找”操作,没有任何问题 但是当我尝试运行下面的代码时,它永远不会返回,LogCat会发出“GC_并发释放2032K,15%释放20186K/23623K,暂停12ms+10ms,总计166ms”的洪流 如果有人能帮助我,我会很高兴的!我已经搜索了这个网站和谷歌,但没有找到任何东西!谢谢你的帮助 我的代码: EvernoteSession session = getEvernote

我试图从Evernote Android API中获取注释的内容

我已经成功地使用该服务进行了身份验证,我可以执行“查找”操作,没有任何问题

但是当我尝试运行下面的代码时,它永远不会返回,LogCat会发出“GC_并发释放2032K,15%释放20186K/23623K,暂停12ms+10ms,总计166ms”的洪流

如果有人能帮助我,我会很高兴的!我已经搜索了这个网站和谷歌,但没有找到任何东西!谢谢你的帮助

我的代码:

EvernoteSession session = getEvernoteSession(ctx);

    try {
        session.getClientFactory().createNoteStoreClient().getNote(noteID, true, false, false, false, new OnClientCallback<Note>() {

            @Override
            public void onSuccess(Note data) {
                receiver.newData(data.getContent().toString());
                data = null;
                System.gc();
            }

            @Override
            public void onException(Exception exception) {
                receiver.newData(ctx.getString(R.string.error_while_receiving_note));
            } 
        });
    } catch (TTransportException e) {
        receiver.newData(ctx.getString(R.string.error_while_receiving_note));
    }
EvernoteSession session=getEvernoteSession(ctx);
试一试{
session.getClientFactory().createNoteStoreClient().getNote(noteID、true、false、false、new-OnClientCallback()){
@凌驾
成功时的公共无效(注释数据){
receiver.newData(data.getContent().toString());
数据=空;
gc();
}
@凌驾
公共无效OneException(异常){
receiver.newData(ctx.getString(R.string.error\u while\u receiving\u note));
} 
});
}捕获(TTransportException e){
receiver.newData(ctx.getString(R.string.error\u while\u receiving\u note));
}

首先,确保GC消息来自您的进程。我喜欢使用

adb logcat -v threadtime
查看与每条消息关联的pid和tid。使用

adb shell ps
检查GCing pid是否为您的应用程序


其次,您需要了解到底是什么在分配所有内存。实现这一点的最佳工具是,可以单独使用,也可以集成到Eclipse+ADT中。它将向您显示所选应用程序最近执行的512次分配,因此,如果您在GC消息飞行时运行它,您应该能够看到分配了什么以及由哪段代码进行分配。

首先,我需要提到我是Evernote员工。我最近开发了新版本的Android SDK,并注意到了一个与您类似的错误。原因是底层字节存储中存在问题,它会标记数据并将其发送到服务器

新版本2.0.0修复了此错误:

如果问题仍然存在,请随时在Github创建问题