小编Cod*_*oet的帖子

Logcat中Choreographer消息的含义

我安装了最新版本SDK (API 16)并获得了最新的ADT.我现在在logcat中看到这些消息,我很确定,我以前没见过.有没有人对此有所了解?

06-29 23:11:17.796:I/Choreographer(691):跳过647帧!应用程序可能在其主线程上做了太多工作.

我做了一个搜索,发现了这个链接:http: //developer.android.com/reference/android/view/Choreographer.html.这是API 16中引入的新类.

我需要知道如何确定我的应用程序可能正在做什么"太多工作",因为我的所有处理都是在AsyncTasks中完成的.

android android-logcat

194
推荐指数
5
解决办法
13万
查看次数

CSS:动画与转型

所以,我理解如何执行CSS3过渡和动画.什么不清楚,我用Google搜索,是什么时候使用哪个.

例如,如果我想让球反弹,很明显动画是要走的路.我可以提供关键帧,浏览器会做中间体帧,我会有一个很好的动画.

然而,存在可以以任一方式实现所述效果的情况.一个简单而常见的例子是实现facebook风格的滑动抽屉菜单:

这种效果可以通过如下过渡来实现:

.sf-page {
    -webkit-transition: -webkit-transform .2s ease-out;
}

.sf-page.out {
    -webkit-transform: translateX(240px);
}
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/NwEGz/

或者,通过这样的动画:

.sf-page {
    -webkit-animation-duration: .4s;
    -webkit-transition-timing-function: ease-out;
}

.sf-page.in {
    -webkit-animation-name: sf-slidein;
    -webkit-transform: translate3d(0, 0, 0);
}

.sf-page.out {
    -webkit-animation-name: sf-slideout;
    -webkit-transform: translateX(240px);
}

@-webkit-keyframes sf-slideout {
    from { -webkit-transform: translate3d(0, 0, 0); }
    to { -webkit-transform: translate3d(240px, 0, 0); }
}

@-webkit-keyframes sf-slidein {
    from { -webkit-transform: translate3d(240px, 0, 0); }
    to { -webkit-transform: translate3d(0, 0, 0); }
}
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/4Z5Mr/

使用HTML看起来像这样:

<div …
Run Code Online (Sandbox Code Playgroud)

css css3 css-transitions css-animations

136
推荐指数
4
解决办法
4万
查看次数

为所有EditText设置一致的样式(例如)

我试图让EditText我的应用程序中的所有内容都具有一致的外观.我知道我可以这样做:

<style name="App_EditTextStyle">
    <item name="android:background">@drawable/filled_roundededges_box_dark</item>
    <item name="android:textColor">#808080</item>
    <item name="android:layout_height">45dip</item>
</style>
Run Code Online (Sandbox Code Playgroud)

然后我可以EditText通过这样做来制作一个特殊的风格:

<EditText ...
    style="@style/App_EditTextStyle
    ...>
Run Code Online (Sandbox Code Playgroud)

但是这样我必须记住为EditText我的应用程序中的每一个单独设置样式,这很繁琐,如果不是容易出错的话.

有什么办法可以让它成为主题的一部分吗?这样我就不必将这种风格与每种风格联系起来了EditText.像这个虚构的代码块:

<style name="App_Theme" parent="@android:style/Theme.Holo">
   ... 
   <item name="android:EditTextSyle">@style/App_EditTextStyle</item>
   ...
<style>
Run Code Online (Sandbox Code Playgroud)

然后在我的AndroidManifest.xml我有类似的东西:

<application
    ....
    android:theme="@style/App_Theme">
Run Code Online (Sandbox Code Playgroud)

还有瞧!所有我EditText都有一致的风格,而不必为每个实例指定样式.

android

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

在匿名类中实现两个接口

我有两个接口:

interface A {
    void foo();
}

interface B {
    void bar();
}
Run Code Online (Sandbox Code Playgroud)

我能够创建实现这些接口之一的类的匿名实例,如下所示:

new A() {
    void foo() {}
}
Run Code Online (Sandbox Code Playgroud)

要么:

new B() {
    void bar() {}
}
Run Code Online (Sandbox Code Playgroud)

我想创建一个实现两个接口的匿名类.像(虚构的):

new A implements B {
    void foo() {}
    void bar() {}
}
Run Code Online (Sandbox Code Playgroud)

这显然会产生编译错误:"B无法解析为类型".

解决方法很简单:

class Aggregate implements A, B {
    void foo() {}
    void bar() {}
}
Run Code Online (Sandbox Code Playgroud)

然后Aggregate,我会使用匿名类.

我想知道一个匿名类实现两个接口是否合法.

java android

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

加载布局中的异常:java.util.LinkedHashMap.eldest()Ljava/util/Map $ Entry;

尝试在图形编辑视图中加载特定布局文件时,我遇到以下异常.这已经开始后,我下载了最新的ADT (Version 20)SDK API Level 16:

java.lang.NoSuchMethodError: java.util.LinkedHashMap.eldest()Ljava/util/Map$Entry;
at android.util.LruCache.trimToSize(LruCache.java:206)
at android.util.LruCache.evictAll(LruCache.java:306)
at android.widget.SpellChecker.resetSession(SpellChecker.java:141)
at android.widget.SpellChecker.setLocale(SpellChecker.java:147)
at android.widget.SpellChecker.<init>(SpellChecker.java:112)
at android.widget.Editor.updateSpellCheckSpans(Editor.java:461)
at android.widget.Editor.onAttachedToWindow(Editor.java:212)
at android.widget.TextView.onAttachedToWindow(TextView.java:4455)
at android.widget.AutoCompleteTextView.onAttachedToWindow(AutoCompleteTextView.java:1001)
at android.view.View.dispatchAttachedToWindow(View.java:11755)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2424)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2424)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2424)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2424)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2424)
at android.view.AttachInfo_Accessor.setAttachInfo(AttachInfo_Accessor.java:37)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:329)
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:331)
at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:325)
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.RenderService.createRenderSession(RenderService.java:372)
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.renderWithBridge(GraphicalEditorPart.java:1640)
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.recomputeLayout(GraphicalEditorPart.java:1391)
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart$ConfigListener.onThemeChange(GraphicalEditorPart.java:735)
at com.android.ide.eclipse.adt.internal.editors.layout.configuration.ConfigurationComposite.onThemeChange(ConfigurationComposite.java:2901)
at com.android.ide.eclipse.adt.internal.editors.layout.configuration.SelectThemeAction.run(SelectThemeAction.java:47)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)
at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)
at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4128)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1457)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1480)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1465) …
Run Code Online (Sandbox Code Playgroud)

android android-layout

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

Ember.Component(块形式):多个插座{{yield}}

我看到ember有一个非常好的机制,可以使用此处{{yield}}记录的机制将内容包装到组件中.

因此,要使用文档中的示例,我可以blog-post像这样定义组件模板:

<script type="text/x-handlebars" id="components/blog-post">
  <h1>{{title}}</h1>
  <div class="body">{{yield}}</div>
</script>
Run Code Online (Sandbox Code Playgroud)

然后我可以blog-post使用以下格式嵌入任何其他模板:

{{#blog-post title=title}}
  <p class="author">by {{author}}</p>
  {{body}}
{{/blog-post}} 
Run Code Online (Sandbox Code Playgroud)

我的问题是,我可以{{yield}}在组件模板中指定两个不同的插座吗?

像这样的东西可以通过Named Outlets来实现,Ember.Route#renderTemplate如下所示:

把手:

<div class="toolbar">{{outlet toolbar}}</div>
<div class="sidebar">{{outlet sidebar}}</div>
Run Code Online (Sandbox Code Playgroud)

JavaScript:

App.PostsRoute = Ember.Route.extend({
  renderTemplate: function() {
    this.render({ outlet: 'sidebar' });
  }
});
Run Code Online (Sandbox Code Playgroud)

我不确定我是否可以将这条路径用于一个不知道路由模板将呈现它的组件.

编辑1:


为了清楚起见,我正在尝试将Android Swipe for Action Pattern实现为Ember组件.

所以,我希望这个组件的用户能够指定两个不同的模板:

  1. 正常列表项的模板,和
  2. 检测到滑动(1)时显示的操作的模板.

我想把它变成一个组件,因为相当多的javascript用于处理触摸(开始/移动/结束)事件,同时仍然管理基于平滑触摸的列表滚动.用户将提供两个模板,该组件将管理触摸事件和必要动画的处理.

我已经设法让组件以块形式工作,块的内容被视为(1).第二个模板(2)通过参数(actionPartial下面)指定,该参数是操作的部分模板的名称:

组件把手模板:sfa-item.handlebars

<div {{bind-attr class=":sfa-item-actions …
Run Code Online (Sandbox Code Playgroud)

handlebars.js ember.js ember.js-view

25
推荐指数
3
解决办法
9154
查看次数

如何标记java代码,使其不被编译

我想知道是否有类似于C的Java等价物

#if 0
... Some Code ...
#endif
Run Code Online (Sandbox Code Playgroud)

哪个可用于我们不想编译的代码块.添加块引号:

/*
... Some Code ...
*/
Run Code Online (Sandbox Code Playgroud)

也有同样的效果,但问题是,我们必须确保没有单行注释

// some comment
Run Code Online (Sandbox Code Playgroud)

在街区.

java

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

Apache PHP/OSX Mavericks: - 无法打开流:打开的文件过多

我最近升级到OSX Mavericks,从那时起,我开始在我的开发机器上得到上述错误.代码中没有明显的问题(它是一个自动生成的Yii示例应用程序).作为升级到小牛队的一部分发生的事情是:

  1. PHP从与OSX Lion捆绑在一起的5.2.x升级到5.4.x.
  2. 我必须通过安装Zend Server获取Zend Debugger for PHP 5.4 ,拿起ZendDebugger.so并卸载Zend Server(所有这一切都是因为Zend没有为php 5.4.x提供独立版本的调试器).

从那时起,我在加载和重新加载网站几次之后就遇到了这个问题.发生此错误后,我的Web服务器将继续为localhost上托管的任何其他应用程序返回相同的错误.我必须提到静态网页服务很好.

我见过几个线程关于这一主题.大多数人都指出代码中的问题是文件句柄未正确关闭,从而超过了打开文件限制阈值.我也发现这个线程似乎暗示这可能是一个zend调试器问题.还有针对php 5.2.x提交的错误报告.在这里的帖子之后,我尝试了以下内容:

$ ulimit -a
Run Code Online (Sandbox Code Playgroud)

报道:

open files (-n) 256
Run Code Online (Sandbox Code Playgroud)

也,

sysctl -a | grep files
Run Code Online (Sandbox Code Playgroud)

回报,

kern.maxfiles = 12288
kern.maxfilesperproc = 10240
kern.maxfiles: 12288
kern.maxfilesperproc: 10240
kern.num_files: 3248
Run Code Online (Sandbox Code Playgroud)

另一个有趣的线程建议使用以下方法提高此限制(目前为256):

ulimit -n 1024
Run Code Online (Sandbox Code Playgroud)

我已经尝试了一切,但似乎没有任何工作.问题也不能始终如一地重现.

我想知道使用ulimit -n 1024是否会影响apache,因为从我读过的内容来看,它会影响shell可以打开的文件数量.

任何帮助表示赞赏.

编辑:

  1. 重启apache有一点帮助,直到再次遇到错误.
  2. 让Web服务器空闲一点(没有确定的间隔)也有帮助.

php apache macos yii

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

杀死在android模拟器中运行的进程

如何终止在模拟器中运行的应用程序?我的意思是手动而不是通过代码.

设置 - >应用程序 - >运行选项卡不显示我的应用程序和开发工具 - >运行进程列出我的应用程序,但我没有看到如何终止该过程.我在adb中看不到杀死进程的任何选项.

android

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

RESTful JSON API需要与Ember一起使用的约定

在Ember 模型介绍中,提到:

如果没有任何配置,Ember Data可以通过RESTful JSON API加载和保存记录及其关系,前提是它遵循某些约定.

我开始尝试使用基于令牌的RESTful JSON API,乍一看它并不是严格的RESTful.几个例子:

  1. 身份验证实现为 GET /api/authenticate?email=a@b.com&password=pass
  2. 大多数API即使失败也会返回200的状态(响应头).返回的json包含附加字段success(boolean)和code(int),用于指示API是否失败或通过.
  3. 网址不是基于名词(模型).例如,典型的消息编辑操作(通常应该是对URL等的POST /api/message/1/edit)实现为GET /api/edit_message?id=1&text=new

所以,我想知道是否有人可以列出certain conventions文档中提到的内容.这可以帮助我理解我是否可以使用ember-data.

ember.js ember-data

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