I am using RequestFactory with appengine and android. It has been working great, however when I retrieve a list of objects of any size(around 400) it has a very delayed response. It appears that the transfer of data happens fairly quickly(~4 secs), however I do not get the onSuccess() callback until much later(1-2 mins or greater). I am guessing this could be slow performance of parsing within requestfactory. My objects are just POJOs with about 10 fields of text and longs.
My question is has anyone come across this? Anyone have a more efficient way to get lots of data off of appengine quickly in android?
UPDATE: I also have ran into outofmemoryerrors when using RF with lots of entities(3000+). I switched to straight json using the GSON lib and parsing was quicker and have not ran into memory problems yet.
The specific Entity I am sending over the wire is below(I am using Objectify).
@Cached
@Entity
public class InterestPoint
{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private Long groupId;
private String more, data;
@Unindexed
private int lat, longi;
@Unindexed
private String address, city, state;
@Unindexed
private int num1, num2, num3;
@Unindexed
private int num4,num5,num6;
@Unindexed
private String name;
@Unindexed
private int moreData;
@Unindexed
private String notes;
}
Adding to the author’s description of the problem
We’re retrieving 8 relatively small objects and each has one to four child objects which are tiny:
Here’s an example of the stack after the response has been returned from the server, for over a minute it’s in the org.json package or com.google.web.bindery and we have high cpu usage:
And we see the GC kick in about 25 times:
all for about 15 small pojos… would appreciate any help. Absolutely desperate to solve this.