我从Droid X和Droid Pro得到奇怪的崩溃报告。 android.content.res.Resources$NotFoundException: File res/drawable/zz_moto_actionbar_bkg.xml from drawable resource ID #0x10803a8 at android.content.res.Resources.loadDrawable(Resources.java:1735) at android.content.res.Resources.getDrawable(Resources.java:596) at android.view.View.setBackgroundResource(View.java:7542) at com.android.internal.app.AlertController.setBackground(AlertController.java:719) at com.android.internal.app.AlertController.setupView(AlertController.java:424) at com.android.internal.app.AlertController.installContent(AlertController.java:232) at android.app.AlertDialog.onCreate(AlertDialog.java:251) at android.app.Dialog.dispatchOnCreate(Dialog.java:307) at android.app.Dialog.show(Dialog.java:225) at android.app.AlertDialog$Builder.show(AlertDialog.java:802) at com.*******.a(SourceFile:320) at com.*******.onOptionsItemSelected(SourceFile:292) at android.app.Activity.onMenuItemSelected(Activity.java:2251) at com.android.internal.policy.impl.PhoneWindow.onMenuItemSelected(PhoneWindow.java:809) at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:143) at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:855) at com.android.internal.view.menu.IconMenuView.invokeItem(IconMenuView.java:553) at com.android.internal.view.menu.IconMenuItemView.performClick(IconMenuItemView.java:122) at android.view.View$PerformClick.run(View.java:9089) at android.os.Handler.handleCallback(Handler.java:587) at android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:123) […]
为什么不正则expression式(?<=fo).*匹配foo (而(?<=f).* )? "foo" =~ /(?<=f).*/m => 1 "foo" =~ /(?<=fo).*/m => nil 这似乎只发生在单线模式打开(点匹配换行); 没有它,一切都OK: "foo" =~ /(?<=f).*/ => 1 "foo" =~ /(?<=fo).*/ => 2 testingRuby 1.9.3和2.0.0。 在Rubular上看到它 编辑:更多观察: 添加一个行尾锚点不会改变任何东西: "foo" =~ /(?<=fo).*$/m => nil 但是与一个懒惰的量词一起,它“起作用”: "foo" =~ /(?<=fo).*?$/m => 2 编辑:还有一些观察: .+与其等同的{1,} , 但只在Ruby 1.9中 (似乎这是这种情况下两者之间唯一的行为差异): "foo" =~ /(?<=fo).+/m => 2 "foo" =~ /(?<=fo).{1,}/ […]
在使用交互式DOM元素的单页JavaScript应用程序中,我发现在“ touchstart-touchmove-touchend ”事件序列之后 ,“ mouseover-mousemove-mousedown-mouseup-click ” 我也发现可以通过在touchstart事件中执行“ event.preventDefault() ”来防止“ mouse*-click ”事件发生,但是只有这样,而不是在touchmove和touchend 。 这是一个奇怪的devise,因为在touchstart期间不可能知道用户是否意图拖动或轻扫,或者只是点击/点击该项目。 我最终设置了一个与时间戳绑定的“ignore_next_click”标志,但这显然不是很干净。 有没有人知道这样做的更好方法,还是我们错过了什么? 请注意,虽然“咔嗒”可以被识别为“ touchstart-touchend ”序列(即没有“ touchmove ”),但某些事情(如键盘input焦点)只能在正确的click事件中发生。
在Lua编码,我有一个三重嵌套的循环,经历了6000次迭代。 所有的6000次迭代都是独立的,并且可以很容易地被并行化。 哪些线程包Lua 编译出来,并获得体面的并行加速四个或更多的核心? 以下是我所知道的: luaproc来自核心Lua团队,但luaforge上的软件包已经陈旧了,邮件列表中有报告。 另外,对于我来说,如何使用标量消息传递模型最终将结果导入到父线程中并不明显。 Lua Lanes提出有趣的说法,但似乎是一个重量级的,复杂的解决scheme。 邮件列表上的许多消息报告让Lua Lanes构build或为其工作带来麻烦。 我自己也难以得到潜在的“Lua岩石”分配机制为我工作。 LuaThread需要显式locking,并要求线程之间的通信由受锁保护的全局variables调解。 我可以想象得更糟,但我会更高兴地抽象。 并发Lua提供了一个类似于Erlang的有吸引力的消息传递模型,但它表示进程不共享内存。 目前还不清楚spawn实际上是否适用于任何 Lua函数或是否有限制。 Russ Cox提出了一个偶尔的只适用于C线程的线程模型。 对我没有用处。 我将upvote所有报告的实际经验与这些或任何其他multithreading包,或任何答案,提供新的信息。 作为参考,这里是我想并行化的循环: for tid, tests in pairs(tests) do local results = { } matrix[tid] = results for i, test in pairs(tests) do if test.valid then results[i] = { } local results = results[i] for sid, […]
在我正在开发的团队项目中,如果在解决scheme中存在另一个具有相同名称的文件,则在文件中设置断点(例如IdeasController.cs )将导致错误的debugging器行为。 我已经在几个开发人员的工作站上重现了这个问题。 例 我在Web API中的IdeasController.cs中设置了一个断点: 另一个名为IdeasController.cs文件存在于我们单独的MVC 4 web项目中。 在下面的屏幕截图中,debugging器显示了Api->IdeasController源代码,但是行突出显示与Web->IdeasController的代码结构相匹配。 断点是重复的,其中一个位于注释块的中间。 断点窗口同时在两个文件中显示断点: 在某些工作站上,debugging器通过正确的行(不pipe行高亮)。 在别人身上,它通过不相关的行(包括评论和空白)高兴地走了过来。 我猜这取决于它select显示哪个源文件。 我试过了 我已经浏览了互联网。 当debugging文件( *.pdb ),源文件和编译后的代码不匹配时,就会出现这种问题。 有很多可能的原因:重复的文件名(可能会混淆debugging器[5] ),过时的项目构build文件,无效的解决schemecaching或不正确的构buildconfiguration。 这些是我find和尝试的解决scheme: 检查了我的构buildconfiguration。 确保项目不是以发布模式构build的。 确保我们没有启用代码优化 。 确保项目的debugging模块已正确加载。 (开始debugging项目,并勾选Debug > Windows > Modules 。这两个程序集都列出,没有优化,并且符号状态为“Symbols loaded”。) 重置debugging元数据和Visual Studiocaching。 closuresVisual Studio并删除解决schemecaching文件( *.suo )。 [1] 删除每个项目的构build输出( bin和obj文件夹)。 (供将来参考:在Windows资源pipe理器中打开解决scheme文件夹,并在search框中input:“ type:folder AND (name:=bin OR name:=obj) ”。 删除程序集caching文件夹( C:\Documents and Settings\<user>\Local […]
编辑:对于实时绘图,在opengl和opencl之间的“互用性”中开始使用基于jmonkeyengine和jocl的lwjgl,现在可以实时计算和绘制10万个粒子。 也许地狱版本的Jmonkey引擎可以治愈这个drawcall开销问题。 几天来,我一直在Eclipse(java 64位)学习jMonkey引擎(ver:3.0),并尝试使用GeometryBatchFactory.optimize(rootNode);优化场景GeometryBatchFactory.optimize(rootNode); 命令。 没有优化(具有改变球体位置的能力): 好的,只有1-fps源于pci-express带宽+ jvm开销。 通过优化(无法改变球体的位置): 现在即使增加三angular形数字也是29 fps。 Java3D有一个setCapability()方法,它使得一个场景对象能够被优化的forms读写。 jMonkey引擎3.0必须能够这个主题,但我找不到任何痕迹(search教程和示例,失败)。 问题:如何在jMonkey 3.0中设置场景optimized节点的read/write position/rotation/scalefunction? 如果你不能回答第一个问题,你能告诉我为什么我使用优化命令时三angular形数字增加了吗? 我必须创build一个新的方法来访问graphics卡,并自己改变variables(jogl也许?)? 场景信息:16k粒子(16×16分辨率的球体)+ 1分光线(及其4096分辨率的阴影)。 我相信我们可以轻松地通过pci-express在毫秒内发送几千个浮点数。 附加信息:我使用Aparapi-kernels更新粒子位置需要10毫秒(16k * 16k交互来计算力量)(不会改变任何东西在优化模式:()可以aparapi访问这些优化的数据? 对于batchNode.batch(); 优化,这里是1 fps又减less对象数字: 对象数目现在只有几百,但fps仍然在1! 只发送球体位置到GPU,并让它计算顶点位置可能比计算CPU上的顶点,加上巨大的数据发送到CPU更好。 没有人在这里帮忙? 已经尝试过batchNode,但没有足够的帮助。 我不想改变3D API,因为JMonkey人已经改造了车轮,我很满意目前的情况。 只是试图挤一点点的performance(取消阴影提供了百分之百的速度,但质量也很重要!)。 这个Java程序将成为一个小行星撞击现场模拟器(将有select的小行星的大小,质量,速度,angular度)与行进立方体algorithm与LOD(将数百万颗粒)。 Marching-cubesalgorithm会大大减less三angular形数量。 如果你不能给出任何答案的问题,任何行军立方体(或任何O(n)凸包)algorithm的Java将被接受! 数据:x,y,zarrays为源,三angular形条阵为目标(等值面网格点) 谢谢。 以下是一些有关stream的示例(分辨率低得多): 1)由引力引起的立方体形岩体的塌陷: 2)排斥力开始显现出来: 3)排斥力+引力使组形成更加光滑的形状: 4)组形成一个球体(如预期): 5)然后,一个巨大的星体接近: 6)关于触摸: 7)影响的时刻: 在Barnes-Huttalgorithm和截断势能的帮助下,粒子数量将会增加10倍(也许是100倍)。 而不是Marching-Cubesalgorithm,包装nbody的鬼布料可以给出低分辨率的船体(比BH更容易,但需要更多的计算) 鬼布会受nbody影响(重力+排斥),但是nbody不会受到缠绕布料的影响。 Nbody不会被渲染,但布网将被渲染与较低的triange数。 如果MC或以上的工作,这将使程序渲染约200倍的粒子的包装布。
当编译器试图parsingi.template hi<T>(); 它发现hi在全球命名空间,而不是在i ( ideone )的方法hi 。 为什么? #include <cstdio> // Define 'hi' and 'bye' in the global namespace; these should *not* be used template<typename T> struct hi { }; template<typename T> struct bye { }; // Foo needs to be templated for Foo::Inner to be a dependent type (I think) template<typename T> struct Foo […]
内置的WPF TreeView控件不允许多选,就像ListBox一样。 我如何定制TreeView以允许多重select而不重写它。
在一个纯粹的C ++世界中,我们可以在编译时间使用基于模板的编译时和运行时技术(例如,大部分自动将marshall传入或传出使用传统types的调用)的组合,在不同的组件或接口之间生成接口或粘合代码。 当需要将Objective-C / Cocoa与GUI,系统集成或IPC接口的C ++应用程序进行交互时,由于input较不严格,事情变得更加困难 – 但是通常不会再需要一个扁平的重复接口层:瘦桥接代表必须定义或转换代码语言桥接调用必须写。 如果您必须处理非平凡大小的接口,并且希望避免基于脚本的代码生成,那么这很快就会变得繁琐,而且每次重构都必须发生,这只是一个痛苦。 使用(模板)元编程和Objective-C运行时库的组合,应该可以大大减less代码量… 在我重新发明轮子(可能浪费时间)之前 ,有没有人知道在这个方向上的技术,最佳实践或例子? 举一个例子,假设我们需要一个支持这个非正式协议的委托: – (NSString*)concatString:(NSString*)s1 withString:(NSString*)s2; – (NSNumber*) indexOf:(CustomClass*)obj; 而不是实现一个明确桥接到C ++实例的Obj-C类,我想这样做,而不是: class CppObj { ObjcDelegate m_del; public: CppObj() : m_del(this) { m_del.addHandler <NSString* (NSString*, NSString*)> ("concatString", &CppObj::concat); m_del.addHandler <NSNumber* (CustomClass*)> ("indexOf", &CppObj::indexOf); } std::string concat(const std::string& s1, const std::string& s2) { return s1.append(s2); } size_t […]
我正在讨论如何保护存储在Java程序中的敏感信息(例如密码)。 根据安全要求,将清除包含敏感信息的内存,例如将字节值设置为全零。 担心的是攻击者可以观察与应用程序进程相关的内存,所以我们要尽可能地限制这种敏感信息的时间窗口。 以前,项目涉及C ++,因此memset()已经足够了。 (顺便说一句,memset()的使用已经成为问题,因为已知某些编译器会根据假设来优化它的使用,因为以后不会使用内存,所以不需要将其归零第一个地方,这个blurb对于那些Google为“memset”和“清除内存”的人来说是一个免责声明)。 现在,我们已经掌握了一个Java项目,正在按这个要求。 对于Java对象,我的理解是: 一个空引用只改变引用的值; 对象的堆上的内存仍然包含数据 一个像String这样的不可变对象将无法修改数据(或者至less不是很容易的,在具有相应的安全pipe理器的虚拟机的范围内) 代代垃圾收集者可以在整个地方复制物体(如这里所述 ) 而对于原始的,我的理解是: 本地方法中的原始typesvariables将被分配到堆栈上,并且: 当你改变它的值的时候,你直接在内存中修改它(而不是使用引用来处理堆上的对象)。 在某些情况下,副本可以/在“幕后”进行,例如将其作为parameter passing给方法或装箱(自动或不是)创build包含另一个具有相同值的原始variables的包装的实例。 我的同事声称,Java原语是不可改变的,NSA和Oracle都有文档说明在这种需求方面缺乏对Java的支持。 我的立场是,基元可以(至less在某些情况下)通过将值设置为零(或布尔值为false)来清零,并且内存以这种方式被清除。 我试图validationJLS或其他“官方”文档中是否存在关于JVM在涉及基元的内存pipe理时所需行为的语言。 我能find的最接近的是Oracle网站上的“Java编程语言安全编码指南” ,其中提到了在使用后清除字符数组。 当我的同事把原始的东西称为不可改变的时候,我会质疑定义,但我很确定他的意思是“记忆不能适当地调零” – 我们不用担心。 我们没有讨论他是否意味着最后的变数 – 从我们一般说的上下文来看。 有没有什么明确的答案或参考? 我会很感激任何可以告诉我我错在哪里或确认我是对的。 编辑 :经过进一步的讨论,我已经能够澄清,我的同事想到的是原始包装,而不是原始本身。 所以我们留下的是如何安全地清理内存,最好是对象的原始问题。 另外,为了说明,敏感信息不仅仅是密码,还包括IP地址或encryption密钥等。 有没有商业JVM提供像某些对象的优先处理function? (我想这实际上违反了Java规范,但我想我会问,以防万一我错了。)