我可以使用httpurlconnection成功连接,发送和接收数据.但是在我的手机(三星s4,4.2)和Android 4.2模拟器上加载所有数据需要很长时间.但是在Android 2.3.x模拟器上加载图片需要大约1-2秒(这是非常快的).在http连接上比我的galaxy s4更快.
我正在使用AsyncTask,我的代码在两者上运行良好.它在android 4.2s上速度很慢.我尝试删除chunkedStreaming,保持活着,更改超时值等但仍然没有成功
这是我的代码
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestMethod("POST");
urlConnection.setDoOutput(true);
urlConnection.setDoInput(true);
urlConnection.setUseCaches(false);
urlConnection.setChunkedStreamingMode(0);
urlConnection.setRequestProperty("Connection", "Keep-Alive");
urlConnection.setConnectTimeout(6000);
urlConnection.setReadTimeout(6000);
urlConnection.setRequestProperty("Content-Type", "multipart/form-data;charset=UTF-8;boundary="+boundary);
urlConnection.connect();
Run Code Online (Sandbox Code Playgroud)
4.2和2.3.x的httpurlconnections之间有什么区别吗?这里错了
UPDATE!
我通过使用Log.e()来测试哪一行占用了大部分时间.
///// other staff
////......
Log.e("HTTP","3");
if (isCancelled())
return (null); // don't forget to terminate this method
Log.e("HTTP","3");
//Output
DataOutputStream outputStream = new DataOutputStream( urlConnection.getOutputStream() );
//Send Passcode
Log.e("HTTP","4");
Run Code Online (Sandbox Code Playgroud)
在3到4之间,线上有5-6秒的传球
DataOutputStream outputStream = new DataOutputStream( urlConnection.getOutputStream() );
Run Code Online (Sandbox Code Playgroud)
UPDATE!
等待时间(参见上一次更新)与urlConnection.setConnectTimeout(6000)相关;
当我使超时1000,然后快速连接响应(等待1秒的线路)
DataOutputStream outputStream = new DataOutputStream( urlConnection.getOutputStream() );
Run Code Online (Sandbox Code Playgroud)
不知道为什么会这样
android httpurlconnection android-2.3-gingerbread android-4.2-jelly-bean
直到今天我才在单核上编程,现在我需要在多核上运行我的代码.我正在研究大约一周,并对此有一些疑问.
我顺便使用Zynq 702,Arm DS-5和Dstream.我正在尝试使用我在Core0上运行的现有代码时实现此目的.
我在core1上什么都没做,只是连接到它,只是想观察它跳转到0xFFFFFFF0和这个地址的值.我没有设置任何针对core1的中断处理程序.我唯一的"观察"情况可以吗?或者我真的需要设置一些配置?我怎样才能以最简单的方式实现这一目标?
当我的程序继续在core0上时,我连接到core1并观察它的状态.顺便说一句,core1上没有应用程序运行..它上升到地址0x300,在这个地址有一个WFE命令,在它之后有一个B(牧场)命令再次分支到0x300.这就像一个循环,我的代码在WFE命令上保持大约0.5秒,跳转到下一条指令B并再次分支到WFE ......
我认为core1应该在执行WFE命令后保持在那里,除非我发送EVENT,而不是执行B(牧场)命令吗?如果是这样,是否意味着core1会从某个地方定期获得evets?将电路板与Dstream Debugger连接会导致EVENT吗?
如果我设置地址0xFFFFFFF0的值,是什么让core1跳转到0xFFFFFFF0的地址,当core1处于WFE/WFI状态时,是一个简单的SEV命令吗?如果0xFFFFFFF0的值为0x00000000,那么会发生什么?Core1会再次回到WFE/WFI吗?或者是其他东西?
我可以成功连接到Facebook并获得好友列表.所有连接都没问题.但是当我删除Facebook的数据(通过设置 - >应用程序)和我的应用程序时,会出现登录问题.[SDK 3.5]
当我单击强制关闭时,会再次突然发生同样的错误(同时权限屏幕仍然落后).如果我足够快,我点击强制关闭然后允许权限,一切正常,我可以看到我的朋友.所以这个FORCE CLOSE错误意味着什么都没有?在日志中,有3-4个相同的致命异常消息,因为每次单击FORCE CLOSE时,都会再次出现错误.当我在手机上尝试应用程序时出现此错误(SE Xperia Arc S,2.3.3).但是当我尝试使用Emulators时,错误不会发生.它没有问题.(仿真器是2.3.3和4.2)
09-04 18:09:47.916 E/AndroidRuntime(29511): FATAL EXCEPTION: main
09-04 18:09:47.916 E/AndroidRuntime(29511): java.lang.RuntimeException: Unable to resume activity {com.ilanharitasi/com.facebook.LoginActivity}: java.lang.NullPointerException
09-04 18:09:47.916 E/AndroidRuntime(29511): Caused by: java.lang.NullPointerException
09-04 18:09:47.916 E/AndroidRuntime(29511): ... 12 more
09-04 18:09:51.526 E/AndroidRuntime(29538): FATAL EXCEPTION: main
09-04 18:09:51.526 E/AndroidRuntime(29538): java.lang.RuntimeException: Unable to resume activity {com.ilanharitasi/com.facebook.LoginActivity}: java.lang.NullPointerException
09-04 18:09:51.526 E/AndroidRuntime(29538): Caused by: java.lang.NullPointerException
09-04 18:09:51.526 E/AndroidRuntime(29538): ... 12 more
09-04 18:09:53.786 E/AndroidRuntime(29547): FATAL EXCEPTION: main
09-04 18:09:53.786 E/AndroidRuntime(29547): …Run Code Online (Sandbox Code Playgroud) 我有一个来自相机(PAL)的数据流,我从回调函数获得的数据类型的格式如下:U0-Y0-V0-Y1 U2-Y2-V2-Y3 U4-Y4-V4-Y5 .... ..
我需要使用 OpenCV 的 cvCvtColor() 函数将颜色格式更改为 RGB(或 BGR)。该函数的用法为 cvCvtColor(YCrCb, dst, CV_YCrCb2BGR); 现在(实际上是之前)出现了问题,dst 是一个 3 通道 8U 图像,没关系,但是如何将来自回调函数的数据直接存储在 IplImage 中?如果我可以正确存储它,我可以使用 cvCvtColor() 来转换图像。有什么函数,还有其他库吗?如果我在每一帧中使用 RGB<->YUV 数学转换,则会导致 CPU 使用率达到 70%++,所以我不想使用它们,我正在寻找一种更简单的 CPU 方法。
我正在尝试在物理游戏控制器设备和虚拟设备 (vJoy) 之间建立 1 对 1 的映射。我想要实现的是,当在物理设备上按下没有 X 的按钮时,使在虚拟设备上按下没有 X 的按钮。
由于我正在尝试在物理和虚拟控制器按钮和轴之间进行 1-1 映射,因此我不应该与映射有任何关系。所以我决定使用 SDL2 库的“Joystick”相关函数而不是“GameController”相关函数。
输入(物理)=> MyApp => 输出(vJoy)
我可以与几乎所有控制器实现一一对应,除了一个 PS4 控制器。
通过 SDL 输入读取函数(下面的代码),我得到这些:
当我按下左肩按钮时,event.jbutton.button 显示 9
当我按下右肩按钮时,event.jbutton.button显示10
(它还在游戏控制器模式下显示 9 和 10,而不是操纵杆模式,相同。我确认我没有错误地使用控制器模式,通过在其他控制器上尝试相同的方法而不进行任何更改)
SDL_Init(SDL_INIT_JOYSTICK | SDL_INIT_EVENTS);
SDL_JoystickEventState(SDL_ENABLE);
SDL_Event event;
while(SDL_WaitEventTimeout(&event, 50))
{
switch(event.type){
case SDL_JOYDEVICEADDED:
m_Joystick = SDL_JoystickOpen(device);
break;
//
case SDL_JOYBUTTONDOWN:
case SDL_JOYBUTTONUP:
qDebug() << "JoystickButton(" << QString(SDL_GameControllerGetStringForButton((SDL_GameControllerButton)event.jbutton.button)) << ")" << event.jbutton.button<< " -> " << event.jbutton.state;
break;
}
}
Run Code Online (Sandbox Code Playgroud)
但是当我用其他工具测试它时,他们给出了左肩 4 和右肩 5 作为按钮编号。
0-) …
[我可能错了] TIdTCPServer Server在Borland C++构建器中是多线程的.它在单独的线程上处理所有客户端.这是在Borland c ++的帮助下编写的.
现在是我的问题和疑问.例如,ShowMessage(String ..)应该在main(gui)线程上调用方法.但正如我上面所说,TCPServer是多线程的,并处理OnExecute不同线程上的事件.当我在OnExecute事件中使用ShowMessage方法(在与主线程不同的线程上处理)时,我得到了奇怪的结果.有时ShowMessage()按预期工作,有时它显示没有任何文字与不同的盒子大小(无限长,非常长,正常等).其他用户界面更改没有问题(更新TEdit,TMemo.ShowMessage()现在只有问题)
我认为这个问题是调用ShowMessage()方法不是在主(gui)线程上而是在TCPServer的线程上的结果,该线程是由TIdTCPServer在内部为客户端连接创建的.那么我该如何解决呢?