1

我正在从事 j2me 项目,该项目涉及从在线数据库中获取用户列表,然后我打算用用户名填充一个列表,并且数量可能非常大。我的问题是 - 您可以附加到列表的项目数量是否有限制?

    HttpConnection hc = (HttpConnection);
    String reply;
    Connector.open("http://www.xxxxxxxxxxxx.com/......?xx=xx");
    InputStream is = new hc.openInputStream();
  int ch;
      // Check the Content-Length first
          long len = hc.getLength();
         if(len!=-1) {
        for(int i = 0;i<len;i++)
         if((ch = is.read())!= -1)
          reply += (char) ch;
      } else {
        // if the content-length is not available
        while ((ch = is.read()) != -1)
          reply += (char) ch;
      }
    is.close();
    hc.close();
    DataParser parser = new DataParser(reply); // This is a custom class I created to process the XML data returned from the server to split it into groups and put in an array.
    List user list = new List("Users");
    if (parser.moveToNext()) {
    do {
    list.append(parser.get(), null);
    }
    }

这段代码似乎工作正常,但我的问题是,如果继续调用 list.append("", null),它是否会在抛出一些异常时达到某个点,也许是在 50,000 个名称(列表项)的情况下?

4

2 回答 2

2

它们对列表中的项目数量没有限制。您也可以使用附加到表单的 stringItems,然后向它们添加项目命令......我希望这会有所帮助。J2ME 教程在http://www.tutorialmasterng.blogspot.com

于 2013-11-15T18:47:27.663 回答
0

一些实现可能有限制。旧的索尼爱立信手机列表中限制为 256 项。无论如何,正如 Meier 指出的那样,包含非常多项目的列表可能会很慢或难以使用。并且 50k 的字符串可能很容易在低堆设备(1 - 2 MB)上导致 OOM。

于 2013-11-18T15:56:46.237 回答