在某些网站上,我注意到如果我直接访问内页(即不是通过触摸同一网站上不同页面的链接),则onPageFinished()需要永久(即2分钟甚至更长时间!)到达.
如果我通过触摸同一网站上页面中的链接加载同一页面,则onPageFinished()始终在1-2秒内到达(相同的Internet连接,相同的条件).
在所有情况下,只有一个onPageStarted()而且只有一个onPageFinished().也就是说,不涉及重定向.
此外,在直接(慢)和从站内(快速)访问中,整个页面显示为完整(可视).只有onPageStarted()那些因某种原因拒绝到达(在直接访问中).
为了更好地理解这个问题,我提供了这样一个页面的例子:
例如,如果您从网站的主页访问此页面,则可以onPageFinished()更快地到达.
(主页本身,直接访问,onPageFinished()在1-2秒内得到!)
有什么可以解释这种行为?
如何解决这样的问题?
更新1:看看LogCat输出我注意到慢速(直接)情况的特点是dalvikvm GC操作突然出现之后 onPageStarted():
07-18 21:22:33.876: D/dalvikvm(6298): GC_FOR_MALLOC freed 10371 objects / 495744 bytes in 54ms
07-18 21:22:34.016: D/dalvikvm(6298): GC_FOR_MALLOC freed 808 objects / 50824 bytes in 51ms
07-18 21:22:34.586: D/dalvikvm(6298): GC_FOR_MALLOC freed 1092 objects / 297328 bytes in 72ms
07-18 21:22:34.646: D/dalvikvm(6298): GC_EXTERNAL_ALLOC freed 49 objects / 2296 bytes in 59ms
07-18 21:22:36.526: …Run Code Online (Sandbox Code Playgroud) 由于HQL(createQuery)似乎不支持标量查询,因此我通过createSQLQuery使用了原始查询:
session.beginTransaction();
Query query = session.createSQLQuery("select nvl(max(id), 0) + 1 from empty_table_for_now");
session.getTransaction().commit();
List listL = query.list();
Iterator iterator = listL.iterator();
while (iterator.hasNext()) {
LOG.info("Infinite loop. This is disgusting!");
}
Run Code Online (Sandbox Code Playgroud)
查询本身不会失败,但它似乎返回一个包含无限数量结果的列表?这没有意义......任何想法为什么我得到这个?
更好的是,是否有更好,更优雅的方式来获得预期的标量,而不必混淆维护我的代码的人与"列表"(应该总是包含一个元素)?
参考https://en.wikipedia.org/wiki/Abstract_factory_pattern#/media/File:Abstract_factory_UML.svg中描述的UML 图,可以得出结论ConcreteFactory1和ConcreteFactory2源自。AbstractFactory
但它AbstractFactory是一个接口,因此它必须是“实现”,而不是“扩展”。
我缺少什么?
我终于将我的一个旧项目从 Eclipse/ADT 迁移到 Android Studio (2021.3.1.17)。
在此迁移过程中,我修复了许多由过时和已弃用的方法和关键字引起的问题,这些方法和关键字过去在 Android 2.2 (API 8) 上完美运行,并且在 Eclipse/ADT 上没有产生任何警告。
但现在,在 Android Studio 2021.3、目标 SDK 33 上,我在 AndroidManifest.xml 中收到此错误:
Class referenced in the manifest,
`com.google.android.voicesearch.DetailsReceiver`,
was not found in the project or the libraries
Run Code Online (Sandbox Code Playgroud)
我在谷歌上搜索了有关如何解决此问题的线索,但显然这DetailsReceiver已经太旧了,实际上已经没有任何参考了。
Android Studio中如何消除这个错误?是否有我可以添加到模块中以使其消失的参考?
更新:过去包含此内容的软件包DetailsReceiver可以从market://details?id=com.google.android.voicesearch. 它不再存在于 Google Play 上。
如果您搜索 Google Play,com.google.android.voicesearch您将获得以下与 Google LLC 相关的匹配项:
我很困惑。有很多候选人希望直接替换com.google.android.voicesearch但对此不清楚的文档或信息。哪个可下载包取代了它?
我之所以强调“可下载”,是因为在开箱即用的 Google Pixel 4a(Android 11)上,查询时PackagManager …