运行我的应用程序会导致我的手机上CPU使用率降低约40%:
final String position = String.format("%02d:%02d:%02d", time.getHours(), time.getMinutes(),
time.getSeconds());
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
c.mTxtPosition.setText(position);
...
Run Code Online (Sandbox Code Playgroud)
通过注释掉setText方法,CPU使用率下降到~4%的预期水平.该方法每秒调用一次并刷新ImageViews,CustomViews ...而不会导致相同的负载过量.除了CPU使用率之外,dalvik通过调用setText()不断报告大约10-1000个对象的垃圾收集.
创建这样的跟踪文件:
Debug.startMethodTracing("setText");
c.mTxtPosition.setText(position);
Debug.stopMethodTracing();
Run Code Online (Sandbox Code Playgroud)
traceview按以下各自的CPU%列出以下方法作为前5名:
有人对此有解释吗?
我的应用程序在一些用户设备上连续崩溃,但在Activity onStart方法中存在以下异常:
Caused by: java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
at android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1299)
at android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1310)
at android.support.v4.app.BackStackRecord.commitInternal(BackStackRecord.java:541)
at android.support.v4.app.BackStackRecord.commit(BackStackRecord.java:525)
at android.support.v4.app.DialogFragment.show(DialogFragment.java:123)
Run Code Online (Sandbox Code Playgroud)
我无法在我的模拟器中本地重现此错误.我在stackoverflow上找到了一些关于这个问题的问题: 这里和 这里
我已经尝试了建议的解决方案,即不允许onSaveInstance中的空包在片段或活动中.
但问题仍然存在.这是我遇到的唯一一个Crash报告,我不断得到它.
有没有人有工作的解决方案?
自从我升级我的应用程序以使用支持lib rev.11并针对SDK 4.2编译我收到以下错误
java.lang.IllegalStateException: Fragment already added: i{4079e598 #2 id=0x1020002 i}
at android.support.v4.app.FragmentManagerImpl.addFragment(FragmentManager.java:1159)
at android.support.v4.app.BackStackRecord.popFromBackStack(BackStackRecord.java:729)
at android.support.v4.app.FragmentManagerImpl.popBackStackState(FragmentManager.java:1493)
at android.support.v4.app.FragmentManagerImpl.popBackStackImmediate(FragmentManager.java:477)
at android.support.v4.app.FragmentActivity.onBackPressed(FragmentActivity.java:174)
Run Code Online (Sandbox Code Playgroud)
我已经阅读了有关stackoverflow的类似问题.他们中的一些人建议避免使用我不使用的替换方法.导致回滚崩溃的事务如下所示:
ft.remove(oldFrag).add(newFrag).addToBackStack(null).commit()
Run Code Online (Sandbox Code Playgroud)
其他评论说如果您使用的片段转换在用户再次按下之前无法完成,则可能会出现这种情况.由于我确实在给定的片段上使用过渡动画,这可能是原因.但是,删除的过渡并不是一个选择,因为这仅仅发生在运行2.3.x版本的手机和错误是通过升级到LIB 11和SDK 4.2,我希望谷歌会在下一版本中修正它推出.
有任何类似的问题,有关是否计划在4.2.1中修复或支持r12的信息,或建议我可以做些什么来规避错误?
我正在尝试使用elasticsearch后端设置haystack搜索我收到以下错误:
./manage.py rebuild_index
...
Failed to clear Elasticsearch index: (404, u'IndexMissingException[[haystack] missing]')
Run Code Online (Sandbox Code Playgroud)
但是,以下命令有效:
curl -XPUT http://33.33.33.1:9200/haystack
{"ok":true,"acknowledged":true}
curl -XGET http://33.33.33.1:9200/haystack/test/something
{"_index":"haystack","_type":"test","_id":"something","exists":false}
Run Code Online (Sandbox Code Playgroud)
现在,跑完了
./manage.py rebuild_index
...
Failed to clear Elasticsearch index: (404, u'IndexMissingException[[haystack] missing]')
Run Code Online (Sandbox Code Playgroud)
再次,突然现在按预期工作的命令会出现以下错误:
curl -XGET http://33.33.33.1:9200/haystack/test/something
{"error":"IndexMissingException[[haystack] missing]","status":404}
Run Code Online (Sandbox Code Playgroud)
正如其他地方所建议的那样,我也试过:
from django.core import management
from haystack import connections
backend = connections['default'].get_backend()
backend.setup_complete = False
backend.existing_mapping = None
management.call_command('rebuild_index', interactive=False, verbosity=0)
Run Code Online (Sandbox Code Playgroud)
结果相同:
{"error":"IndexMissingException[[haystack] missing]","status":404}
Run Code Online (Sandbox Code Playgroud)
我正在运行Django 1.4.2,来自github的django-haystack HEAD和来自github的pyelasticsearch HEAD
配置:
HAYSTACK_CONNECTIONS = {
'default': {
'ENGINE': 'haystack.backends.elasticsearch_backend.ElasticsearchSearchEngine',
'URL': 'http://33.33.33.1:9200/',
'INDEX_NAME': 'haystack',
}, …Run Code Online (Sandbox Code Playgroud) 默认情况下,sec:authorize-url标记不能与Spring启动安全性一起使用:
git clone https://github.com/spring-projects/spring-boot
Run Code Online (Sandbox Code Playgroud)
添加依赖项
<dependency>
<groupId>org.thymeleaf.extras</groupId>
<artifactId>thymeleaf-extras-springsecurity3</artifactId>
<version>2.1.1.RELEASE</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
调整样本中的控制器:
@RequestMapping("/")
public String home(Map<String, Object> model) {
model.put("message", "Hello World");
model.put("title", "Hello Home");
model.put("date", new Date());
return "home";
}
@RequestMapping("/admin/foo")
public String home2(Map<String, Object> model) {
model.put("message", "Hello World");
model.put("title", "Hello Home");
model.put("date", new Date());
return "home";
}
Run Code Online (Sandbox Code Playgroud)
添加与应用程序安全性匹配的URL:
http.authorizeRequests().antMatchers("/login").permitAll()
.antMatchers("/admin/**").hasRole("ADMIN")
...
Run Code Online (Sandbox Code Playgroud)
在home.html中添加testcode
<div sec:authorize="hasRole('ROLE_ADMIN')">
has role admin
</div>
<div sec:authorize-url="/admin/foo">
can see /admin
</div>
Run Code Online (Sandbox Code Playgroud)
当我启动应用程序并登录时,无论我是否可以实际访问该URL,我都会看到"可以看到/管理员"部分.角色评估本身按预期工作,url权限本身也是如此(当我尝试使用ROLE_USER访问它时,我得到403).
如果我向web安全配置添加一个dummy privilegeEvaluator,它只是为每个请求返回false,则div将正确消失.
我在这里错过了什么吗?这是预期的行为,我需要定义什么才能使authorize-url以与使用xml配置安全性时相同的方式工作?
此问题与SpringBootWebSecurityConfiguration中的基本身份验证及其自动配置相关联:
在 …
spring spring-security thymeleaf spring-boot spring-java-config