- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我注意到,当 Android-OS 设备上的用户访问我的网站时,每个页面上不断发生两个请求。第一个是普通浏览器,第二个来自“Dalvik”。示例:
"GET/HTTP/1.1"200 2126 "-""Mozilla/5.0 (Linux; Android 5.0.2; SAMSUNG SM-G925F/G925FXXU1AOD8 Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/3.0 Chrome/38.0.2125.102 Mobile Safari/537.36"1229 2802
"GET/HTTP/1.1"200 2117 "-""Dalvik/2.1.0 (Linux; U; Android 5.0.2; SM-G925F Build/LRX22G)"546 8729
据我理解,第一个请求来自实际浏览器,另一个来自运行浏览器的虚拟机(Dalvik)。问题是 Dalvik 请求不使用相同的 cookie 和/或 POST 数据,这会触发服务器端错误。一个例子是当用户注册一个帐户时。普通浏览器通过 POST 数据发送,但 Dalvik 请求只是在操作 url 上执行 GET。同样,如果用户已登录,Dalvik 将在基于权限的页面上尝试 GET,这可能会将其重定向到其他地方,因为没有 session 。
用户没有遇到任何实际问题(据我所知),但是,我们注意到错误记录中的尝试。所以我的问题是:如果浏览器代理指示“Dalvik/..*”,我能否安全地阻止所有访问尝试?会对使用者造成不良影响吗?考虑到与 Dalvik 相关的请求实际上并没有重新发布真实数据或进行 session ,这似乎不太可能。但希望有更多 Android 经验的人可以提供一些反馈,例如,我是否应该发出特定的 HTTP header /状态代码,如“401 Unauthorized”或“400 Bad Request”?
如有任何帮助,我们将不胜感激。
最佳答案
每当浏览器/WebView 无法呈现特定的服务器响应(可能是 PDF、流媒体服务器或其他任何内容)然后触发操作系统打开另一个应用程序的 Intent 时,就会发生这种情况。 VM (Dalvik) 处理此路由,在此过程中,可能会将文件下载到设备,以便其他应用程序可以访问它(通常,应用程序无法访问彼此的文件,但其他应用程序需要文件来呈现它)。
至关重要的是,它在启动 Intent 之前下载了文件,文件最终下载了两次:一次是浏览器下载它不知道如何处理它,一次是 Dalvik 以便它可以通过 file://
指向您可能会或可能不会启动的应用程序的 URL。
关于android - 我可以安全地阻止 Dalvik 浏览器代理请求吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38223027/
我在 PID 上使用 showmap 命令,但我无法理解报告中的这一部分: 16384 3752 689 0 3132 0 620
在哪里可以找到 dalvik 操作码列表以及相应的允许操作数及其大小(8 位/16 位/32 位/62 位) 最佳答案 This给出 dalvik vm 中存在的每个操作码的所有详细信息和 this给
当我们在桌面系统上运行其他虚拟机时,是否可以直接在 Dalvik 虚拟机上执行任务? 最佳答案 如果我正确理解了您的问题:我正在考虑 task在问题中提到 apk (如果是这样,那么以下答案可能对 y
对此进行了一些研究,并发现了一些关于在应用程序中面临相同问题的人的帖子。我也在我的应用程序的谷歌控制台中遇到了这个崩溃,并关注了我发现的帖子( java.lang.ClassNotFoundExcep
我知道这可能是 Android 中的一个基本问题。但是什么是 Dalvik 和 dalvik-cache? 最佳答案 Dalvik 是 Android 使用的虚拟机。它通常被认为是一个 Java 虚拟
关于在运行时动态生成 java 字节码并将其加载到正在运行的 Dalvik VM 中,这个问题已被多次询问(并回答),但是有没有办法在运行时将 dex 文件/字节码加载到应用程序中? 谢谢 最佳答案
Android 中 Dalvik Bridge Function 和 Dalvik Native Function 调用有什么区别? 最佳答案 简单来说, Android 是基于 Linux 的操作系
我想获取标准 Java 库的 Dalvik 字节码,我的意思是,Android 使用的 java 库(例如 java.util.* 集合)。 我需要获取这些类文件,因为我想分析它们,不是全部,而是像
我正在尝试学习 smali,但有一些问题无法通过谷歌搜索找到。 1)我创建了一个简单的测试用例来更好地解释自己 const-string v1, "Start" :try_start_0 const-
在我的应用程序中,我将一些数据存储在 Application 类中: public HashMap> getConfigs() { if (mConfigs != null) {
Java 规范允许编译器和 VM 重新排序内存写入以提高效率。 Dalvik VM 是否具体利用了这一点? 免责声明:我无意依赖顺序,即使 Dalvik 不这样做(此外编译器也可能这样做),但很高兴知
我已经下载并安装了 SDK。但是我的手机没有显示在 Dalvik 调试监视器中。 请帮帮我,这是怎么回事?我已经杀死了服务器。并重新启动。但是 adb devices 没有列出我的设备。我知道在 ec
我有一个正在运行的 dalvik 实例: /system/bin/dalvikvm ... -Xmx100m ... memmap 看起来像: b01f6000-b05b7000 rwxp 00000
如果我知道变量的模式,例如 R.id.edit_x where x (1..N),我如何才能获得对给定 EditText 的引用,例如 findViewByID(R.id.edit_1)。 Dalvi
我刚刚做了一个基准测试来比较局部变量、成员变量、其他对象的成员变量和getter setter 的访问性能。基准测试在循环中增加了 10 次 mio 迭代的变量。这是输出: BENCHMARK:本地1
在我的 Dalvik 调试监视器中 在删除所有以前的日志消息后显示与以前的日志消息具有不同标记的新日志消息。这意味着日志一直在清除自身并且只显示几行。我将如何查看所有日志消息? 最佳答案 我也经常遇到
我试图了解为 Android 中的每个进程分配了多少内存。据我了解,对于每个应用程序进程,都有一个单独的 Zygote 进程实例,Zygote 将 fork Dalvik VM。 我写了一个小的示例
我使用的是 Android 2.2 SDK,无法让 MultiUserChat 类中的静态 block 执行。我试图将其强制加载为 try { String qual = MultiUserC
我们正在为 Android jelly bean 开发一个项目。我们的平台是arm-based,内核版本是3.1.10。在我们的开发过程中,我们发现在dalvik中发生应用崩溃的概率非常低。根据以下回
每个 ANR 转储都列出了 ANR 发生时所有线程的状态。我知道 WAIT 是什么意思,但是 SUSPENDED 和 MONITOR 是什么意思? 提前致谢... 最佳答案 Dalvik 线程状态总结
我是一名优秀的程序员,十分优秀!