Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.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 mHttpClient.execute(httppost)具有超长响应3g/4g。。但不是wifi。ICS更新后_Android - Fatal编程技术网

Android mHttpClient.execute(httppost)具有超长响应3g/4g。。但不是wifi。ICS更新后

Android mHttpClient.execute(httppost)具有超长响应3g/4g。。但不是wifi。ICS更新后,android,Android,我买不到这个。有一个应用程序运行得很好。然后我把我的Razr机器人升级为ICS,一切都变了 使用Drupal服务模块运行Drupal服务器。当我通过wifi连接时,一切都很好。但是,当我通过3g/4g连接时,httpclient.execute()方法需要3-4分钟而不是几秒钟。我将下面的示例代码放在一起,重新创建了这个问题。我应该将浏览器连接添加到4g服务器上,这样就可以了。。所以我不认为这是一个简单的无线连接问题 public class DrupalTestActivity extends

我买不到这个。有一个应用程序运行得很好。然后我把我的Razr机器人升级为ICS,一切都变了

使用Drupal服务模块运行Drupal服务器。当我通过wifi连接时,一切都很好。但是,当我通过3g/4g连接时,httpclient.execute()方法需要3-4分钟而不是几秒钟。我将下面的示例代码放在一起,重新创建了这个问题。我应该将浏览器连接添加到4g服务器上,这样就可以了。。所以我不认为这是一个简单的无线连接问题

public class DrupalTestActivity extends Activity {


    private Context mCtx;
public static long mSESSION_LIFETIME = 200000; // seconds.
final static String URL =   "www.myDrupalServer.com";
final static String ENDPOINT = "rest/";
String mResponse = null;
String cookie;
TextView textView;

public class DoLogin extends AsyncTask<Void, Void, String> {

    @Override
    protected String doInBackground(Void... params) {
        cookie = getCookie(mCtx);
        return cookie;
    }

    @Override
    protected void onPostExecute(String result) {
        super.onPostExecute(result);
        textView.setText(mResponse);
    }



}

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    this.mCtx = this;
    setContentView(R.layout.main);
    textView = (TextView) findViewById(R.id.textView);
    DoLogin task = new DoLogin();
    task.execute();
}


protected String getCookie(Context ctx) {
    SharedPreferences settings = PreferenceManager
            .getDefaultSharedPreferences(mCtx);
    Long timestamp = settings.getLong("sessionid_timestamp", 0);
    Long currenttime = new Date().getTime() / 100;
    String cookie = settings.getString("cookie", null);
    if (cookie == null || (currenttime - timestamp) >= mSESSION_LIFETIME) {
        JSONObject mUserAccount = UserAccount.getJSONUserAccount(ctx);
        userLogin(mUserAccount);
        return getCookie(ctx);
    } else {
        Log.d("COOKIE", cookie);
        return cookie;
    }
}


public String userLogin(JSONObject mUserAccount) {
    String uri = URL + ENDPOINT + "user/login";
    HttpPost httppost = new HttpPost(uri);
    httppost.setHeader("Content-type", "application/json");
    StringEntity se;
    try {
        HttpClient mHttpClient = new DefaultHttpClient();
        HttpParams mHttpParams = new BasicHttpParams();
        HttpConnectionParams.setConnectionTimeout(mHttpParams, 10000);
        HttpConnectionParams.setSoTimeout(mHttpParams, 10000);

        se = new StringEntity(mUserAccount.toString());
        se.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE,
                "application/json"));
        httppost.setEntity(se);
                    Log.d("STATUS", "CALLING DRUPAL");
        HttpResponse response = mHttpClient.execute(httppost);
                    Log.d("STATUS", "LOGIN COMPLETE");
        mResponse = EntityUtils.toString(response.getEntity());
        // save the sessid and session_name
        JSONObject obj = new JSONObject(mResponse);
        SharedPreferences settings = PreferenceManager
                .getDefaultSharedPreferences(mCtx);
        SharedPreferences.Editor editor = settings.edit();
        editor.putString("cookie", obj.getString("session_name") + "="
                + obj.getString("sessid"));
        editor.putLong("sessionid_timestamp",
                new Date().getTime() / 100);
        editor.commit();
    } catch (UnsupportedEncodingException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (ClientProtocolException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (JSONException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return mResponse;
    }
}
时间是十几秒左右

3g/4g上的LogCat输出

07-02 16:52:36.171: I/System.out(12759): debugger has settled (1362)
07-02 16:52:36.687: D/dalvikvm(12759): threadid=1: still suspended after undo (sc=1 dc=1)
07-02 16:52:46.171: D/STATUS(12759): CALLING DRUPAL
07-02 16:52:47.265: D/libc(12759): Forward DNS query to netd(h=www.seinetest.com.php5-22.dfw1-1.websitetestlink.com s=^)
07-02 16:53:17.569: W/IInputConnectionWrapper(12759): getExtractedText on inactive InputConnection
07-02 16:53:17.593: W/IInputConnectionWrapper(12759): getExtractedText on inactive InputConnection
07-02 16:54:38.593: W/IInputConnectionWrapper(12759): getExtractedText on inactive InputConnection
07-02 16:54:38.616: W/IInputConnectionWrapper(12759): getExtractedText on inactive InputConnection
07-02 16:56:08.921: D/STATUS(12759): LOGIN COMPLETE
登录时间更长

显然,getExtractedText是一个新的东西,但它是原因还是结果?我在这里搜索了IIInputConnectionWrapper getExtractedText,有一个问题是有人问它的意义是什么。。它被关闭并标记为一个糟糕的问题(

其他详细信息请参见Verizon carrier 服务器托管在Rackspace云服务器上 手机Verizon Droid Razr,安卓4.0.4


我真的很希望我能在这里得到一些指导,或者我的几个月的工作是破产的。谢谢你的任何帮助。

< P>如果你没有改变任何代码,这是在升级到姜饼之后发生的,你可能真的想考虑在非ICS设备上进行测试。因为冰淇淋三明治增加了“高效的网络使用”。功能方面,wifi/3G/4G上出现了一些真正的随机连接问题。您可以在Google Code()上看到许多此类问题,这里还有一些更为相关的问题:
无论如何,这很奇怪,但让人想起我看到的一个问题,一个无关设备跳转到ICS。

我想我终于找到了答案。我做了一些研究和测试。
手机Droid Razr,ICS 4.0.4 Verizone wireless

我调查了我的三台服务器和谷歌。我所有的测试服务器都位于同一个云上(RackSpace) 响应时间如下。 谷歌:42毫秒 我的服务器#1 100ms 我的服务器#2 96 我的服务器#3-没有注册域名的测试服务器运行为www.seinetest.blah.blah.websitetestlink.com。Rackspace会自动执行此操作,直到向服务器注册域名。响应时间14445毫秒

这四个网站的桌面浏览时间都不显著。所以问题一定出在手机上。或者是真的

升级到ICS后,响应时间出现了巨大差异。我确实在上面的链接中发现一些数据,其他手机在ICS通过代理时遇到问题。我打电话给Rackspace,他向我保证,我注册的域名服务器和服务器#3之间的唯一区别是DNS指针指向的位置。。没有代理

剩下很少的东西可以尝试了,我用域名和WALLAH注册了服务器#3!
ICS电话的响应时间与注册域名的其他服务器的响应时间相同。考虑到这一切都是在ICS升级过程中发生的,我倾向于认为这是一个ICS错误,我将对此进行报告。

这是一个重复发生的错误(9IE。一周内每天发生),还是您最近才在短时间内对其进行测试(即今天半小时).我的观点是,你确定这不仅仅是你手机的网络连接问题吗?可能是手机接收不好吗?如果它工作得更早,现在不工作,没有任何改变,听起来更像是一个网络问题,而不是编码问题。我确实想到了这一点,但通过我手机的浏览器通过3G/4G连接到服务器效果很好。此外,还有一个问题很多事情都变了。这一切都发生在ICS 4.0.4更新之后。这不是一个坏的信号问题。而且,我对google API的执行调用工作正常。所以,这似乎是手机和我的3g服务器之间的一个问题。关于从何处开始,有什么想法吗?不幸的是,我没有。你的代码看起来很好,看起来没有任何问题有问题。你在另一台设备上试用过吗?没有,我没有。我开始怀疑这个问题是否真的是Verizon的问题。巨大的风暴可能导致我和我的服务器之间的Verizon wireless出现了一些问题。我将给它一周或更长的时间,如果它继续存在,我想下一个问题是与我的主机联系,还有Verizon。我应该补充一点,同样的查询对谷歌来说非常有效。所以ICS和我的执行方法都没有问题。我想这一定是可变的外力。哦,谢谢你的链接!事实上,我刚和Verizon通完电话,他们说在经历了席卷中西部的大风暴之后,他们正在处理3g/4g问题。。也许是这样,但似乎获取一个JSON字符串要比加载得很好的整个webppage容易得多。我也无法想象我是唯一一个有这个问题的人,但我还没有发现类似的问题。我需要使用一个非ICS手机,并阅读您发布的这些链接。再次感谢您。我正在整理一个很长时间的测试,看看这是否与网络或ICS有关。或者两者都有关系?我会在收到结果后发布。下面的帖子中介绍了代理问题,跟踪效果很好。没有什么比在机器上钉一个幽灵更令人满意的了。
07-02 16:49:32.812: I/System.out(12001): debugger has settled (1401)
07-02 16:49:33.319: D/dalvikvm(12001): threadid=1: still suspended after undo (sc=1 dc=1)
07-02 16:49:36.921: D/STATUS(12001): CALLING DRUPAL
07-02 16:49:37.749: D/libc(12001): Forward DNS query to netd(h=www.seinetest.com.php5-22.dfw1-1.websitetestlink.com s=^)
07-02 16:49:43.046: D/STATUS(12001): LOGIN COMPLETE
07-02 16:52:36.171: I/System.out(12759): debugger has settled (1362)
07-02 16:52:36.687: D/dalvikvm(12759): threadid=1: still suspended after undo (sc=1 dc=1)
07-02 16:52:46.171: D/STATUS(12759): CALLING DRUPAL
07-02 16:52:47.265: D/libc(12759): Forward DNS query to netd(h=www.seinetest.com.php5-22.dfw1-1.websitetestlink.com s=^)
07-02 16:53:17.569: W/IInputConnectionWrapper(12759): getExtractedText on inactive InputConnection
07-02 16:53:17.593: W/IInputConnectionWrapper(12759): getExtractedText on inactive InputConnection
07-02 16:54:38.593: W/IInputConnectionWrapper(12759): getExtractedText on inactive InputConnection
07-02 16:54:38.616: W/IInputConnectionWrapper(12759): getExtractedText on inactive InputConnection
07-02 16:56:08.921: D/STATUS(12759): LOGIN COMPLETE