小编Por*_*nny的帖子

Android模拟器使用HAXM冻结OS X v10.9(Mavericks)

我刚刚更新到OS X v10.9(Mavericks),现在每当我启动任何模拟器时,一旦模拟器启动,我的整个计算机就会冻结屏幕中央的旋转进度指示器(不是beachball,进度指示器与您在关闭时看到的相似,但屏幕没有褪色为灰色).

注意屏幕底部中心的进度指示器. 此时计算机已冻结.

我试过了:

  • 关闭GPU加速
  • 卸载并重新安装最新的Intel HAXM
  • 重新创建我的AVD
  • 更新了我的Android SDK-Tools

唯一有效的方法是卸载Intel HAXM /不使用硬件加速.

我猜测Mavericks和HAXM有一个错误类似于OSX v10.8(Mountain Lion)的HAXM 1.0.6的发布动机?

以下崩溃报告指示HAXM生成的内核崩溃.

Anonymous UUID:       2C84F70F-FE54-51E7-4FBE-6E601ED377AF

Tue Oct  8 21:49:39 2013
Panic(CPU 3): NMIPI for spinlock acquisition timeout, spinlock: 0xffffff802deca4d8, spinlock owner: 0xffffff80409f4cf0, current_thread: 0xffffff80409f4cf0, spinlock_owner_cpu: 0x3
RAX: 0xffffff80409f4cf0, RBX: 0xffffff802ded4c40, RCX: 0xffffff80409f4cf0, RDX: 0x0000000700000000
RSP: 0xffffff8115bb9c30, RBP: 0xffffff8115bb9c70, RSI: 0x0000000792aac9d6, RDI: 0xffffff802deca4d8
R8:  0x0000000000000010, R9:  0x0000000000000269, R10: 0x0000000000000000, R11: 0x0000000000000246
R12: 0x0000000000000000, R13: 0xffffff7faf6b3d92, R14: 0xffffff802deca4d8, R15: 0xffffff802d830040
RFL: 0x0000000000000006, RIP: 0xffffff802d8d0470, …
Run Code Online (Sandbox Code Playgroud)

macos android android-emulator haxm

159
推荐指数
3
解决办法
3万
查看次数

CRITICAL_STRUCTURE_CORRUPTION BSOD安装了Intel HAXM Android Emulator的Windows 8.1

自从安装Windows 8.1以来,我经常遇到"关键结构损坏"BSOD.我甚至买了一台新电脑,以为只是Windows 8.1对潜在的硬件故障更敏感.

但BSOD一直在变得越来越快,而几乎什么也没做,甚至没有运行模拟器.

我最近在小牛队的Mac上出现了内核问题恐慌,导致我将两个和两个放在一起,似乎只是在Win8.1上安装了英特尔HAXM导致了BSOD.

卸载Intel HAXM会停止BSOD.

最终,当猜测英特尔或MS进行修复BSOD的更新时,我猜这个问题将得到解决.

android bsod android-emulator windows-8.1 haxm

45
推荐指数
2
解决办法
5万
查看次数

将ProgressBar从水平顶部对齐(删除间隙)

我正试图在我的框架顶部放置一个水平进度条.但似乎有填充,我根本无法删除.有帮助吗?

在此输入图像描述

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:layout_width="match_parent"
          android:layout_height="match_parent">
<ProgressBar android:id="@+id/flv_progress_bar"
             android:layout_width="fill_parent"
             style="@android:style/Widget.Holo.ProgressBar.Horizontal"
             android:indeterminateOnly="true"
             android:layout_height="wrap_content"
             android:layout_gravity="top"/>
</FrameLayout>
Run Code Online (Sandbox Code Playgroud)

android android-layout actionbarsherlock

27
推荐指数
1
解决办法
1万
查看次数

在Android中的服务中运行JavaScript

我有用JavaScript编写的业务逻辑,这个代码与其他非Android应用程序共享.

在Android中的服务中使用此JavaScript中的函数的最佳方法是什么?

AFAIK有2种选择?

  • V8内置于标准的WebView和超高速,没有额外的apk膨胀.
  • 犀牛,开始使用Android很棘手?

关注V8/Webview,当我尝试使用任何功能访问WebView时,我得到了;

All WebView methods must be called on the UI thread. Future versions of WebView may not support use on other threads.
Run Code Online (Sandbox Code Playgroud)

警告被注意到,它现在甚至都不起作用.当我设置webviewclient时,加载URL后我什么也得不到.

我的问题分为三部分;

1)有没有人在没有UI线程的webview中运行javascript有什么成功?

2)如何从javascript中的函数获得结果,webview界面"addJavascriptInterface"是否支持加载参数并将其发送回java?

3)如果上述任何一种情况都是不可能的......我想我会去得到Rhino,任何提示都会受到赞赏,我只看到一些博客抱怨有关在Android上运行的问题,并想知道是否有一个"转到"版本的android维护在某处.

javascript android rhino android-service android-webview

8
推荐指数
1
解决办法
1657
查看次数

chromium / puppeteer 中的调试不会填充评估脚本

所以我启动了以下代码

this.browser = await puppeteer.launch( { headless: false, devtools: true, slowMo: 200});
this.page = await this.browser.newPage();

await this.page.goto(pageUrl);

let result = await this.page.evaluate(() => {
            const labels = document.querySelectorAll("li.product-item");

            let productList = [];

            for(let product of labels) {
                productList.push(product);
            }
            debugger;

            //filter only product stacks that have a price
            const productStacks = productList.filter(product => product.querySelector("span.price-wrapper") !== null);

            let results = productStacks.map(product => {
                return product.querySelector("span.price-wrapper").getAttribute("data-price-amount");
            });

            return results;
        });

Run Code Online (Sandbox Code Playgroud)

因此,chromium 启动并在适当的代码处暂停(据我所知),我什至可以看到局部变量填充了预期结果并逐步执行代码,但是打开的文件puppeteer_evaluation_script没有填充评估脚本,并且仍然保留内容,所以我正在盲目地进行。

//# sourceURL=__puppeteer_evaluation_script__
Run Code Online (Sandbox Code Playgroud)

有时,几分钟后,它实际上会填充代码。我不知道出了什么问题,我尝试更新最新的节点 lts 和 puppeteer 但有相同的行为。

chromium node.js puppeteer

6
推荐指数
1
解决办法
430
查看次数

ContentProvider调用原子?保存onPause,加载OnActivityCreated旧数据

我有一个包含listview的片段.

在onPause()中,我将在ContentProvider中保存listview的Y滚动位置.

onResume或onActivityCreated上的相同片段使用加载器从contentprovider获取y滚动位置并恢复滚动位置.

如果我退出活动/片段并返回它,这是有效的,listview返回到它最后打开的位置,因为它被保存到onPause中的contentprovider.所以代码是100%罚款.

什么不好,是旋转数据.onPause保存得很好,但onCreateActivity之后的加载导致检索旧数据,即onPause中保存之前的数据.它导致listview在第一次打开应用程序时返回到OLD位置,而不是listview在旋转之前的位置.

似乎是一个明显的竞争条件,在onPause期间保存到内容提供程序未在onPause中完成,导致在旋转后加载旧数据.

所以在我的手机上旋转看起来像这样

01:31:33.026: ThreadViewerFragment.java(235):onPause Saved(position:Yposition): 59:-74
01:31:33.256: ThreadViewerFragment.java(194):onActivityCreated
01:31:33.266: ThreadViewerFragment.java(309):onLoadFinished Load(position:Yposition): 62:-149 //initial load is of old values
01:31:33.266: ThreadViewerFragment.java(309):onLoadFinished Load(position:Yposition): 62:-149
01:31:33.596: ThreadViewerFragment.java(309):onLoadFinished Load(position:Yposition): 59:-74  //this is loaded due to notification by the save in onPause which is supposed to be finished before recreating the new fragment???
Run Code Online (Sandbox Code Playgroud)

因此,顺序看起来很好(在活动/片段流方面看起来不像竞争条件)但显然,它加载的是旧值而不是刚刚保存的值59:-74.

我不是在解决方法之后,我知道如何使用saveInstanceState等.但是为什么我应该加倍我的代码,是否有办法强制contentprovider以原子方式运行(我认为它已经是?)

编辑:添加代码并更好地改进问题,因为我仍然不满意我们是否更接近理解内容提供者在执行时调用阻塞和/或这些调用是原子的还是只是对内容提供者和加载器的误解.

在onPause中,我正在保存产品列表的Y位置

@Override
public void onPause() {
    super.onPause();

    Utils.logv("onPause Saved position: " + mLastRead + ", " + mYPos);

    ContentValues contentValues = new ContentValues();
    contentValues.put(ProductsContract.Products.Y_POS, …
Run Code Online (Sandbox Code Playgroud)

sqlite android android-contentprovider android-fragments

5
推荐指数
1
解决办法
639
查看次数

如何在不对每个帖子调用评论对象的情况下从您的墙上帖子中获取评论数量?

7月10日突破变化介绍;

从'comments'中删除'count'图API连接 *我们正在删除Graph API中 'comments'连接上未记录的'count'字段.如果您想要包含计数的摘要字段(现在称为'total_count')*,请明确请求'{id}/comments?summary = true'

如果我拉起我/ feed,肯定的是,count不再在comments对象中.但是如何在不借助于对每个帖子上的评论对象进行图形API调用的情况下获得评论计数?

我对字段扩展不是很了解,但有没有办法让Feed包含摘要?

facebook facebook-graph-api

3
推荐指数
1
解决办法
1709
查看次数

Volley ImageLoader在旧设备上确实很慢

有没有人能够在旧设备上测试Volley?

我有一个ZTE Blade,它有一个单核800mhz cpu.

我发现Volley会在加载图像之前等待4-5秒甚至更长时间,即使它们已经在磁盘上也是如此.

在我的Galaxy S2和Xoom上,相同的代码非常快速.

我使用过Universal-Image-Loader,它在旧设备上没有任何问题,一切都很活泼.

不确定如何调试这个.

我甚至进入内部有点甚至从位图解码中删除同步对象,但绝对无济于事.

我有一个新的应用程序要发布,并且必须在没有预ICS支持的情况下发布,因为性能非常糟糕.

android lazy-loading android-volley

3
推荐指数
1
解决办法
1683
查看次数

getDeclaredFields()绝对性能

我有一个Java类,表示数据库中的条目.因此每个字段都是数据库中的一列.

当我想更新该数据库时,我构造了一个ContentValues对象.

ArrayList<T> contentValues = new ArrayList<T>()

//bla bla add ten items to contentValues`
Run Code Online (Sandbox Code Playgroud)

比...快

ArrayList<T> = new ArrayList<T>(ThisClass.class.getDeclaredFields().length);
//bla bla add ten items to contentValues
Run Code Online (Sandbox Code Playgroud)

什么是绝对表现getDeclaredFields?我希望有人能指出getDeclaredFields工作原理.我知道容器的大小调整是如何工作的,但我对getDeclaredFields工作的方式和工作方式一无所知.

java performance

-1
推荐指数
1
解决办法
1130
查看次数