当我将它们托管在Rackspace cloudfiles服务器上时,似乎无法使用html5视频标签播放视频.
在常规主机上完美运行,但只要我将视频与rackspace cdn url相关联,Chrome就会冻结(完全冻结,网站用户界面完全被阻止 - 过了一段时间Chrome会弹出一条消息说"以下页面已变得反应迟钝bla bla bla ").
视频文件很好,因为它与我链接到常规主机时相同.
对请求进行了一些间谍活动,我最初认为问题是webm文件默认服务于application/octet-stream mime-type.我向机架空间寄出了一张票,他们给了我一种在上传文件时强制mime类型的方法.这样做,文件现在正确发送为视频/ webm ..但Chrome仍然冻结.
知道这里可能出现什么问题吗?
编辑:使用iheartvideo,从rackspace加载视频会触发MEDIA_ERR_SRC_NOT_SUPPORTED.本地Web服务器的相同视频完全正常(??)
编辑2:在最新主流镀铬的Mac和Windows上都会发生
编辑3:卷曲 - 我的结果:
Rackspace(没有工作):
HTTP/1.1 200 OK
Server: nginx/0.7.65
Content-Type: video/webm
Last-Modified: Thu, 24 Feb 2011 23:45:12 GMT
ETag: 7029f83b241aa691859012dfa047e20d
Content-Length: 20173074
Cache-Control: public, max-age=900
Expires: Fri, 25 Feb 2011 01:32:11 GMT
Date: Fri, 25 Feb 2011 01:17:11 GMT
Connection: keep-alive
Run Code Online (Sandbox Code Playgroud)
Web服务器(工作)
HTTP/1.1 200 OK
Date: Fri, 25 Feb 2011 01:17:51 GMT
Server: Apache
Last-Modified: Thu, 24 …
Run Code Online (Sandbox Code Playgroud) 应用程序启动很长一段时间后,触摸屏幕时控制台中有一些日志:
BKSendHIDEvent: IOHIDEventSystemConnectionDispatchEvent error:0xE00002E8 -- Unknown event dropped
并且所有按钮都没有响应,整个应用程序冻结.目前,这个问题只发生在iPhone 5s上.
类似的问题:https://forums.xamarin.com/discussion/55646/alot-of-annotation-on-mkmapview
有没有人有同样的问题?
更新:我发现当应用程序被iOS杀死时,有超过500个线程,因为我使用第三方类可达性太多次了.为了解决这个问题,我声明了一个静态变量,冻结似乎不再发生了.
static Reachability *staticReachability;
+(NetworkStatus)detectNetwork{
if (staticReachability == nil) {
staticReachability = [Reachability reachabilityForInternetConnection];
[staticReachability startNotifier];
}
NetworkStatus status = [staticReachability currentReachabilityStatus];
return status;
}
Run Code Online (Sandbox Code Playgroud) 我已经在Python中编程了一段时间,最近才开始在工作中使用Ruby.语言非常相似.但是,我刚刚遇到了一个Ruby功能,我不知道如何在Python中进行复制.这是Ruby的freeze
方法.
irb(main):001:0> a = [1,2,3]
=> [1, 2, 3]
irb(main):002:0> a[1] = 'chicken'
=> "chicken"
irb(main):003:0> a.freeze
=> [1, "chicken", 3]
irb(main):004:0> a[1] = 'tuna'
TypeError: can't modify frozen array
from (irb):4:in `[]='
from (irb):4
Run Code Online (Sandbox Code Playgroud)
有没有办法在Python中模仿这个?
编辑:我意识到我觉得这只是为了列表; 在Ruby中,freeze
是一个方法,Object
所以你可以使任何对象不可变.我为这种困惑道歉.
我的应用程序非常基本和简单,我只需要打开相机(甚至不显示图像,我评论了代码)
所以,基本上,我有类似的东西:
@Override
public void onResume() {
super.onResume();
if (camera != null) {
//Just to be sure
camera.stopPreview();
camera.setPreviewCallback(null);
camera.release();
camera = null;
}
Log.e("DebugCam", "Before");
camera = Camera.open();
Log.e("DebugCam", "After");
}
@Override
protected void onPause() {
super.onPause();
if (camera != null) {
camera.stopPreview();
camera.release();
camera = null;
}
}
Run Code Online (Sandbox Code Playgroud)
但我的logcat只显示第一条消息:
Before
Run Code Online (Sandbox Code Playgroud)
该应用程序只是挂起,我必须重新启动设备,使其再次工作!
我真的不明白问题在哪里,或者我至少可以避免冻结真的很烦人.
我真的不知道如何调试这个......
编辑:我已经在Android错误跟踪上看到了这一点,听起来我需要一个解决方法,因为补丁是在6月发布的) https://code.google.com/p/android/issues/detail?id=1578
我写了一个非常小的程序:
#include <array>
#include <tuple>
#include <iostream>
const unsigned int NUM = 500;
void simple()
{
using namespace std;
array<tuple<float, float, float>, NUM> vectors;
}
int main(int argc, char **argv)
{
std::cout << "Hello, world!" << std::endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我编译了它g++ -std=c++0x
.
这个版本工作正常,但如果我增加到NUM
50,000,000,g ++使用90%的CPU,我的系统完全冻结.
我知道如果没有足够的堆栈内存,程序可能会在执行期间崩溃.但是为什么编译器会在编译期间冻结?
这是g ++中的错误还是由于某种原因编译器需要在编译期间分配堆栈内存?
我的Visual Studio 2015社区副本在尝试运行成功构建时冻结/变得无法响应,其他所有操作都正常运行.如果构建失败,VS将按预期运行,给出输出提示.
只有当Output指出构建成功时,IDE才会冻结而没有响应,甚至从Debug文件夹运行已编译的.exe会冻结Win Explorer.所有项目都是C++或C#.
操作系统:安装了Windows 10,IDE /套件:VS2015和Unity 5.2.1f1
我最近下载了最新的Genymotion版本,2.7.2(我以前有过以前的版本,我不记得是哪个版本)然而每当我尝试启动模拟器时,设备弹出大约一分钟但在完全加载之前它会冻结.不仅如此,当发生这种情况时,整个桌面都会冻结.我能够移动光标,但没有其他任何响应(即使时钟停止工作).没有任何点击或按键做任何事情我被迫通过我的机器上的电源按钮重新启动我的桌面.我正在运行Ubuntu 16.04.
我用3个独立的模拟设备尝试了3次,每次都会发生同样的事情.直到我解决这个问题,我无法完成我的工作,所以我真的想要一些建议.
在应用程序切换期间,我在 iOS 13.4.1 (iPhone 8) 上的 PWA 应用程序遇到了一些问题 - 当我切换到其他一些应用程序然后返回到我的 PWA 应用程序时它会冻结。如果我重复此操作(应用切换和返回) - PWA 应用会解冻。
前段时间我开发了其他 PWA 应用程序,直到现在它都运行良好。也许某些 iOS 更新破坏了 PWA 功能?
有时我会遇到浏览器本机选择文件对话框的非常奇怪的行为。
我有一个<input type="file" onchange="console.log(event.target.files)" />
上传单个文件的元素。
onchange
通常,在“选择文件”对话框中选择文件后,该事件会立即触发(分别在几毫秒后)。
但有时浏览器会冻结,并且需要长达 10 秒的时间才能onchange
调用该事件。
我注意到一件事:如果我的 Windows 资源管理器快速访问工具栏中有一个无法访问的网络驱动器(因为我没有连接 VPN),那么这种大规模延迟问题会更频繁地发生(尽管我确实选择了一个文件)在我的桌面上与此网络驱动器无关)。
所有主要浏览器(Chrome、Edge、Firefox)都是如此,因此它可能与 Windows 操作系统有关。
还有其他人面临这个问题吗?
最小可重现示例:
<html>
<head>
<meta charset="UTF-8" />
<script type="text/javascript">
let timestamp;
function onClick() {
window.addEventListener('focus', fileDialogClosed);
}
function fileDialogClosed() {
document.getElementById('result').innerHTML =
'File Dialog closed.<br />';
timestamp = new Date().getTime();
window.removeEventListener('focus', fileDialogClosed);
}
function onChange(file) {
let delay = new Date().getTime() - timestamp;
document.getElementById('result').innerHTML +=
'onchange event called with delay of <strong>' +
delay +
'ms</strong>';
document.body.querySelector('input').value = null; …
Run Code Online (Sandbox Code Playgroud) 我们的应用似乎是半随机挂在psynch_mutexwait.它似乎与更新存储在CoreData中的大量数据的后台进程有关 - 但我完全无法弄清楚是谁锁定导致死锁的原因.
以下是lldb给我的完整堆栈跟踪 - 这显然是不完整的,并且线程1的最后一帧是伪造的.在那之前,我在该方法中有一个断点,它从未被击中过.
是否有任何方法可以确定正在等待什么锁?(或者甚至获得正确的堆栈跟踪?)当然,涉及很多代码,这使得随机NSLog语句成为一项艰巨的任务.
(lldb) bt all
* thread #1: tid = 0x2503, 0x39da20fc libsystem_kernel.dylib`__psynch_mutexwait + 24, stop reason = signal SIGSTOP
frame #0: 0x39da20fc libsystem_kernel.dylib`__psynch_mutexwait + 24
frame #1: 0x39ceb128 libsystem_c.dylib`pthread_mutex_lock + 392
frame #2: 0x00022068 OnDeck`-[AttendanceWorkoutsController buildTable](self=0x00000003, _cmd=0x00000000) + 508 at AttendanceWorkoutsController.m:100
thread #2: tid = 0x2803, 0x39d92648 libsystem_kernel.dylib`kevent64 + 24
frame #0: 0x39d92648 libsystem_kernel.dylib`kevent64 + 24
frame #1: 0x39ccb4f0 libdispatch.dylib`_dispatch_mgr_invoke + 796
thread #5: tid = 0x2b03, 0x39d91eb4 libsystem_kernel.dylib`mach_msg_trap + 20
frame #0: 0x39d91eb4 …
Run Code Online (Sandbox Code Playgroud)