我的Android应用程序只访问Objectify中的一个对象(每个包含几个短列表),但我的延迟时间长达15秒。我从来没有在我的网络应用程序中使用rpc来获取相同的对象,也没有使用android或浏览器应用程序访问blobstore时。我认为这可能与JSON解析有关,如下所述:JSON parsing very slow in Google Cloud Endpoints但在这种情况下,我们预计DevAppServer会出现类似的延迟吗?
以下是GAE应用中的端点代码:
Endpoint类基于GPE自动生成的,减去所有与JDO / JPA相关的代码
@Api(name = "myclassendpoint",namespace = @ApiNamespace(ownerDomain = "timmacp.com",ownerName = "timmacp.com", packagePath = "endpoints_in_android_app"))
public class MyClassEndpoint {
@ApiMethod(name = "getMyClassObjectByID")
public MyClass getMyClassObjectByID(@Named("id") String id) {
MyClass object=ofy().load().type(MyClass.class)
.id(EndpointUtils.URLdecode(id)).get();
return object;
}
在Android应用程序中,我为每个按钮创建一个新的EndpointsTask(扩展AsyncTask) &安培;所有对Endpoint类的调用都在通过execute()调用的doInBackground(..)中。
首先创建端点:
MyClassendpoint endpoint;
MyClassendpoint.Builder endpointBuilder = new MyClassendpoint.Builder(
AndroidHttp.newCompatibleTransport(), new com.google.api.client.json.jackson2.JacksonFactory(),
new HttpRequestInitializer() {
public void initialize(HttpRequest httpRequest) {
}
});
endpointBuilder=CloudEndpointUtils.updateBuilder(endpointBuilder);
endpoint =endpointBuilder.build();
然后测试:
endpoint.getMyClassObjectByID("object1").execute();
答案 0 :(得分:0)
请参阅此主题以获取更多信息:
https://groups.google.com/forum/#!topic/google-appengine/3XGJFaosX9s
我们正在努力消除预热的需要(即对您的API的第一次请求将导致预热