我遇到了一个我无法弄清楚的问题。 当我在第一个 Activity 屏幕上按 backPress 键转到主窗口时,会出现此 ANR。 按下后,我尝试返回应用程序,出现白屏,然后是黑屏。 一两分钟后,ANR 消息弹出窗口出现。
那是我的 gradle play-services 相关
def googlePlayServicesVersion = '9.0.2'
compile "com.google.android.gms:play-services:$googlePlayServicesVersion"
compile "com.google.android.gms:play-services-analytics:$googlePlayServicesVersion"
compile "com.google.android.gms:play-services-auth:$googlePlayServicesVersion"
compile "com.google.android.gms:play-services-vision:$googlePlayServicesVersion"
Starting window AppWindowToken{44f94e90 token=Token{42a85dc8 ActivityRecord{430f4b70 u0 com.ioa***.****/com.******.****.activity.SignUpInTabActivity_ t84}}} timed out
ANR in com.ioa***.****
PID: 24075
Reason: Executing service com.ioacom.ioa***.****/com.google.android.gms.tagmanager.TagManagerService
Load: 4.49 / 4.91 / 5.12
CPU usage from 5972ms to 0ms ago:
1.3% 372/adbd: 0.1% user + 1.1% kernel / faults: 406 minor
1.1% 953/system_server: 0.6% user + 0.5% kernel / faults: 6 minor
0.1% 1//init: 0% user + 0.1% kernel / faults: 52 minor
0.3% 1053/com.android.systemui: 0.3% user + 0% kernel / faults: 2 minor
0.3% 18921/kworker/0:2: 0% user + 0.3% kernel
0.1% 3/ksoftirqd/0: 0% user + 0.1% kernel
0.1% 8/rcu_preempt: 0% user + 0.1% kernel
0.1% 144/mmcqd/0: 0% user + 0.1% kernel
0% 204/servicemanager: 0% user + 0% kernel
0% 224/mediaserver: 0% user + 0% kernel
0% 1097/wpa_supplicant: 0% user + 0% kernel
0.1% 1749/mpdecision: 0.1% user + 0% kernel
0% 17052/kworker/u8:7: 0% user + 0% kernel
0% 20159/kworker/0:3: 0% user + 0% kernel
0% 24075/com.ioa***.******: 0% user + 0% kernel
9.3% TOTAL: 2.8% user + 6.2% kernel + 0.1% iowait
CPU usage from 2824ms to 3341ms later:
3.8% 953/system_server: 0% user + 3.8% kernel / faults: 1 minor
3.8% 967/ActivityManager: 0% user + 3.8% kernel
9% TOTAL: 0% user + 0% kernel + 9% iowait
My Launcher Activity 应该在用户第一次进入应用时出现:
public class FirstActivity extends AppCompatActivity {
public void onCreate() {
if (userDataAccess.getUserProfile() != null) {
startDashBoardActivity();
finish();
} else if (!preferences.isFirstAccess().get()) {
startLoginActivity();
}
}
}
我的登录 Activity :
@EActivity(R.layout.activity_with_tabs_layout)
public class SignUpInTabActivity extends AppCompatActivity {
@ViewById(R.id.toolbar)
Toolbar toolbar;
@ViewById(R.id.tabs)
TabLayout tabLayout;
@ViewById(R.id.viewpager)
ViewPager viewPager;
private LoginFragment loginFragment;
@AfterViews
public void init(){
setSupportActionBar(toolbar);
ViewCompat.setElevation(tabLayout, 4);
if(getSupportActionBar() != null) {
toolbar.setSubtitleTextColor(ContextCompat.getColor(this, android.R.color.white));
toolbar.setTitleTextColor(ContextCompat.getColor(this, android.R.color.white));
toolbar.setTitle(R.string.*****);
toolbar.setSubtitle(R.string.flavor);
}
setupViewPager();
}
@UiThread
public void setupViewPager() {
loginFragment = LoginFragment_.builder().build();
ViewPagerTabsAdapter adapter = new ViewPagerTabsAdapter(getSupportFragmentManager());
adapter.addFragment(loginFragment, getString(R.string.login).toUpperCase());
adapter.addFragment(SignUpFragment_.builder().build(), getString(R.string.register_user).toUpperCase());
viewPager.setAdapter(adapter);
tabLayout.setupWithViewPager(viewPager);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
loginFragment.onActivityResult(requestCode,resultCode,data);
}
}
最佳答案
这似乎是 play-services 9+ 的问题。
我的第一个解决方法是将播放服务回滚到 8.4.0,然后一切都恢复正常。
我一直在寻找解决方案,因为以上都不满足我,而
我发现问题出在特定的“通用播放服务”上,我不明白为什么它适用于 8.4.0 而不是 9+。
我的解决方案是删除下面的行
compile "com.google.android.gms:play-services:9.0.2"
只保留具体的(这是最好的方法,不管所讨论的问题是什么)
compile "com.google.android.gms:play-services-analytics:9.0.2"
compile "com.google.android.gms:play-services-auth:9.0.2"
compile "com.google.android.gms:play-services-vision:9.0.2"
而且有效!
我真的很想知道为什么错误是 ANR。
关于android - TagManagerService 出现 ANR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37859877/
最近因为项目需要,需要将Android手机系统自带的某个系统软件反编译并更改里面某个资源,并重新打包,签名生成新的自定义的apk,下面我来介绍一下我的实现过程。APK修改,分为以下几步:反编译解包,修改,重打包,修改签名等步骤。安卓apk修改准备工作1.系统配置好JavaJDK环境变量2.需要root权限的手机(针对系统自带apk,其他软件免root)3.Auto-Sign签名工具4.apktool工具安卓apk修改开始反编译本文拿Android系统里面的Settings.apk做demo,具体如何将apk获取出来在此就不过多介绍了,直接进入主题:按键win+R输入cmd,打开命令窗口,并将路
我正在尝试在配备ARMv7处理器的SynologyDS215j上安装ruby2.2.4或2.3.0。我用了optware-ng安装gcc、make、openssl、openssl-dev和zlib。我根据README中的说明安装了rbenv(版本1.0.0-19-g29b4da7)和ruby-build插件。.这些是随optware-ng安装的软件包及其版本binutils-2.25.1-1gcc-5.3.0-6gconv-modules-2.21-3glibc-opt-2.21-4libc-dev-2.21-1libgmp-6.0.0a-1libmpc-1.0.2-1libm
下面的代码工作正常:person={:a=>:A,:b=>:B,:c=>:C}berson={:a=>:A1,:b=>:B1,:c=>:C1}kerson=person.merge(berson)do|key,oldv,newv|ifkey==:aoldvelsifkey==:bnewvelsekeyendendputskerson.inspect但是如果我在“ifblock”中添加return,我会得到一个错误:person={:a=>:A,:b=>:B,:c=>:C}berson={:a=>:A1,:b=>:B1,:c=>:C1}kerson=person.merge(berson
我正在使用macos,我想使用ruby驱动程序连接到sqlserver。我想使用tiny_tds,但它给出了缺少free_tds的错误,但它已经安装了。怎么能过这个?~brewinstallfreetdsWarning:freetds-0.91.112alreadyinstalled~sudogeminstalltiny_tdsBuildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingtiny_tds:ERROR:Failedtobuildgemnativeextension.完整日志如下:/System
我有以下haml:9%strongAskedby:10=link_to@user.full_name,user_path(@user)11.small="(#{@question.created_at.strftime("%B%d,%Y")})"这当前将链接和日期放在不同的行上,当它看起来像“链接(日期)”并且日期的类跨度为小...... 最佳答案 您的代码将生成类似这样的html:Askedby:UsernameApril26,2011当您使用类似.small的东西(即使用点而不指定元素类型)时,haml会创建一个implicit
下面有没有更优雅的方法来实现这个:输入:array=[1,1,1,0,0,1,1,1,1,0]输出:4我的算法:streak=0max_streak=0arr.eachdo|n|ifn==1streak+=1elsemax_streak=streakifstreak>max_streakstreak=0endendputsmax_streak 最佳答案 类似于w0lf'sanswer,但通过从chunk返回nil来跳过元素:array.chunk{|x|x==1||nil}.map{|_,x|x.size}.max
有没有一种有效的方法来做到这一点。我有一个数组a=[1,2,2,3,1,2]我想按升序输出出现的频率。示例[[3,1],[1,2],[2,3]]这是我的ruby代码。b=a.group_by{|x|x}out={}b.eachdo|k,v|out[k]=v.sizeendout.sort_by{|k,v|v} 最佳答案 a=[1,2,2,3,1,2]a.each_with_object(Hash.new(0)){|m,h|h[m]+=1}.sort_by{|k,v|v}#=>[[3,1],[1,2],[2,3]]
我认为我对线程在ruby中的工作原理存在根本性的误解,我希望获得一些见解。我想要一个简单的生产者和消费者。首先,生产者线程从文件中提取行并将它们粘贴到SizedQueue中;当那些用完时,在末端贴上一些token,让消费者知道事情已经完成。require'thread'numthreads=2filename='edition-2009-09-11.txt'bq=SizedQueue.new(4)producerthread=Thread.new(bq)do|queue|File.open(filename)do|f|f.eachdo|r|queue现在有几个消费者。为简单起见,让
我最近开始了一个项目,团队决定我们希望使用jQuery而不是Prototype/Scriptaculous来满足我们的javascript需求。我们设置了我们的项目,并开始切换。插件已安装viatheseinstructions,一切都按计划进行。不久之后,当尝试运行“./script/server”时,我们收到以下错误:=>Rails2.3.2applicationstartingonhttp://0.0.0.0:3000/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.2/lib/active_support/depende
这个错误已经有好几个月了,在这里:http://www.ruby-forum.com/topic/1094002其中显示代码更改的两个链接:https://github.com/godfat/ruby/commit/f4e0e8f781b05c767ad2472a43a4ed0727a75708https://github.com/godfat/ruby/commit/c7a6cf975d88828c2ed27d253f41c480f9b66ad6我有Ruby1.9.2和rvm。我会把这些更改粘贴到适当的文件中,但我不知道如何粘贴。这在几天前就奏效了。我不能像这样执行RubyonRai