这题目起的够骚情了,原创傲慢的上校哦,转载请标明:http://blog.csdn.net/aomandeshangxiao/article/details/7753421 其实有些方法也是从网上找来的,拿来主义,共同分享下(Fragment其他资料:android之Fragment(官网资料翻译))。 第一个错误:FragmentManagerImpl.saveFragmentBasicState 下面是log: E/AndroidRuntime(29923): FATAL EXCEPTION:
在很早的时候,小黑屋就介绍过如何研究Kotlin,其中涉及到了查看字节码和反编译成Java代码的方式,相信很多人研究过的人,都会或多或少遇到过Intrinsics.checkParameterIsNotNull这样或者类似的代码。
原代码如下: Intent intent = new Intent(); intent.setClass(mContext, PhotoView.class); Bundle bundle = new Bundle(); intent.putExtras(bundle); mContext.startActivity(intent); 报错如下: 06-28 11:24:40.359: E/AndroidRuntime(7397): android.util.AndroidRuntimeExcepti
一切从setContentView说起。安卓中最常用的代码可能就是setContentView了,但大家有没有想过这个方法的背后到底做了些什么?
一、SHA-1混淆 Found 2 versions of android-support-v4.jar in the dependency list, but not all the versions are identical (check is based on SHA-1 only at this time). All versions of the libraries must be the same at this time. Versions found are: Path: D:\wor
那就很奇怪了,我们的系统又做了什么错事?作为负责系统的,我慌的一逼,赶紧抓一份log分析。
09-24 12:56:16.471: E/AndroidRuntime(10696): FATAL EXCEPTION: main 09-24 12:56:16.471: E/AndroidRuntime(10696): Process: com.example.nongmin, PID: 10696 09-24 12:56:16.471: E/AndroidRuntime(10696): android.util.Androi
前言 在前篇中我们讲到了Android应用程序进程启动过程,这一篇我们来讲遗留的知识点:在应用程序进程创建过程中会启动Binder线程池以及在应用程序进程启动后会创建消息循环。 1.Binder线程池
09-29 13:35:41.884: E/SQLiteLog(20098): (10) Failed to do file read, got: 0, amt: 100, last Errno: 2 09-29 13:35:46.857: E/dalvikvm-heap(20098): Out of memory on a 31360016-byte allocation. 09-29 13:35:46.862: E/AndroidRuntime(20098): FATAL EXCEPTION: main 09-29 13:35:46.862: E/AndroidRuntime(20098): Process: com.example.nongmin, PID: 20098 09-29 13:35:46.862: E/AndroidRuntime(20098): java.lang.OutOfMemoryError 09-29 13:35:46.862: E/AndroidRuntime(20098): at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method) 09-29 13:35:46.862: E/AndroidRuntime(20098): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:616) 09-29 13:35:46.862: E/AndroidRuntime(20098): at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:451) 09-29 13:35:46.862: E/AndroidRuntime(20098): at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:840) 09-29 13:35:46.862: E/AndroidRuntime(20098): at android.content.res.Resources.loadDrawable(Resources.java:2235) 09-29 13:35:46.862: E/AndroidRuntime(20098): at android.content.res.Resources.getDrawable(Resources.java:722) 09-29 13:35:46.862: E/AndroidRuntime(20098): at com.jarvis.message.ChatMain.onCreate(ChatMain.java:121) 09-29 13:35:46.862: E/AndroidRuntime(20098): at android.app.Activity.performCreate(Activity.java:5451) 09-29 13:35:46.862: E/AndroidRuntime(20098): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1097) 09-29 13:35:46.862: E/AndroidRuntime(20098): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2346) 09-29 13:35:46.862: E/AndroidRuntime(20098): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2443) 09-29 13:35:46.862: E/AndroidRuntime(20098): at android.app.ActivityThread.access$800(ActivityThread.java:157) 09-29 13:35:46.862: E/AndroidRuntime(20098): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1354) 09-29 13:35:46.862: E/AndroidRuntime(20098): at android.os.Handler.dispatchMessage(H
在eclipse中连接不上手机,出现adb server didn't ACK fail to start daemon 错误.
在Android开发工作中,我们都或多或少接触过代码混淆。比如我们想要集成某个SDK,往往需要做一些排除混淆的操作。
09-26 01:20:33.336: E/AndroidRuntime(1854): FATAL EXCEPTION: main 09-26 01:20:33.336: E/AndroidRuntime(1854): Process: com.example.nongmin, PID: 1854 09-26 01:20:33.336: E/AndroidRuntime(1854): java.lang.ClassCastException: android.widget.ImageView cannot be cast to android.widget.TextView 09-26 01:20:33.336: E/AndroidRuntime(1854): at com.jarvis.mytaobao.user.User_F.initView(User_F.java:77) 09-26 01:20:33.336: E/AndroidRuntime(1854): at com.jarvis.mytaobao.user.User_F.onCreateView(User_F.java:67) 09-26 01:20:33.336: E/AndroidRuntime(1854): at android.support.v4.app.Fragment.performCreateView(Fragment.java:1789) 09-26 01:20:33.336: E/AndroidRuntime(1854): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:955) 09-26 01:20:33.336: E/AndroidRuntime(1854): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1138) 09-26 01:20:33.336: E/AndroidRuntime(1854): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:740) 09-26 01:20:33.336: E/AndroidRuntime(1854): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1501) 09-26 01:20:33.336: E/AndroidRuntime(1854): at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:458) 09-26 01:20:33.336: E/AndroidRuntime(1854): at android.os.Handler.handleCallback(Handler.java:733) 09-26 01:20:33.336: E/AndroidRuntime(1854): at android.os.Handler.dispatchMessage(Handler.java:95) 09-26 01:20:33.336: E/AndroidRuntime(1854): at android.os.Looper.loop(Looper.java:136) 09-26 01:20:33.336: E/AndroidRuntime(1854): at android.app.ActivityThread.main(ActivityThread.java:5017) 09-26 01:20:33.336: E/AndroidRuntime(1854): at java.lang.reflect.Method.invokeNative(Native Method) 09-26 01:20:33.336: E/AndroidRuntime(1854): at java.lang.reflect.Method.invoke(Method.java:515) 09-26 01:20:33.336: E/AndroidRuntime(1854): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 09-26 01:20:33.336: E/AndroidRuntime(185
在[007]一次Binder通信最大可以传输多大的数据?这个文章,我得到了一个结论,就是正常情况下一次Binder通信最大可以传输的数据的大小是1MB-8KB。突然想到我们在通过ContentResolver对象调用ContentProvider的调用query返回Cursor的时候,本质上这是一次Binder通信,那这个Cursor对象大小有没有限制呢?是不是也要小于1MB-8KB?
09-20 17:55:38.457: E/AndroidRuntime(14963): FATAL EXCEPTION: main 09-20 17:55:38.457: E/AndroidRuntime(14963): Process: com.clockrock.freeshare, PID: 14963 09-20 17:55:38.457: E/AndroidRuntime(14963): java.lang.NoSuchMethodError: com.clockrock.tieba.WritePostActivity.getDrawable 09-20 17:55:38.457: E/AndroidRuntime(14963): at com.clockrock.tieba.WritePostActivity.onCreate(WritePostActivity.java:236) 09-20 17:55:38.457: E/AndroidRuntime(14963): at android.app.Activity.performCreate(Activity.java:5451) 09-20 17:55:38.457: E/AndroidRuntime(14963): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1097) 09-20 17:55:38.457: E/AndroidRuntime(14963): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2346) 09-20 17:55:38.457: E/AndroidRuntime(14963): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2443) 09-20 17:55:38.457: E/AndroidRuntime(14963): at android.app.ActivityThread.access$800(ActivityThread.java:157) 09-20 17:55:38.457: E/AndroidRuntime(14963): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1354) 09-20 17:55:38.457: E/AndroidRuntime(14963): at android.os.Handler.dispatchMessage(Handler.java:110) 09-20 17:55:38.457: E/AndroidRuntime(14963): at android.os.Looper.loop(Looper.java:193) 09-20 17:55:38.457: E/AndroidRuntime(14963): at android.app.ActivityThread.main(ActivityThread.java:5348) 09-20 17:55:38.457: E/AndroidRuntime(14963): at java.lang.reflect.Method.invokeNative(Native Method) 09-20 17:55:38.457: E/AndroidRuntime(14963): at java.lang.reflect.Method.invoke(Method.java:515) 09-20 17:55:38.457: E/AndroidRuntime(14963): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:829) 09-20 17:55:38.457: E/AndroidRuntime(14963): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:645) 09-20 17:55:38.457: E/AndroidRuntime(14963): at dalvik.system.NativeStart.main(Native Method) 错误原因:actionbar导致的问题,theme用了自定义的方法, 09-21 20:47:27.169: V/ActivityThread(1
android.view.WindowManager$BadTokenException: Unable to add window android.view.ViewRootImpl$W@427d90f0 -- permission denied for this window type
09-24 18:22:23.692: E/AndroidRuntime(22703): FATAL EXCEPTION: main 09-24 18:22:23.692: E/AndroidRuntime(22703): Process: com.example.nongmin, PID: 22703 09-24 18:22:23.692: E/AndroidRuntime(22703): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.nongmin/com.jarvis.user.info.UApplyedActivity}: android.view.InflateException: Binary XML file line #17: Error inflating class com.clockrock.widget.PullToRefreshLayout 09-24 18:22:23.692: E/AndroidRuntime(22703): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2392) 09-24 18:22:23.692: E/AndroidRuntime(22703): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2443) 09-24 18:22:23.692: E/AndroidRuntime(22703): at android.app.ActivityThread.access$800(ActivityThread.java:157) 09-24 18:22:23.692: E/AndroidRuntime(22703): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1354) 09-24 18:22:23.692: E/AndroidRuntime(22703): at android.os.Handler.dispatchMessage(Handler.java:110) 09-24 18:22:23.692: E/AndroidRuntime(22703): at android.os.Looper.loop(Looper.java:193) 09-24 18:22:23.692: E/AndroidRuntime(22703): at android.app.ActivityThread.main(ActivityThread.java:5348) 09-24 18:22:23.692: E/AndroidRuntime(22703): at java.lang.reflect.Method.invokeNative(Native Method) 09-24 18:22:23.692: E/AndroidRuntime(22703): at java.lang.reflect.Method.invoke(Method.java:515) 09-24 18:22:23.692: E/AndroidRuntime(22703): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:829) 09-24 18:22:23.692: E/AndroidRuntime(22703): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:645) 09-24 18:22:23.692: E/AndroidRuntime(22703): at dalvik.system.NativeStart.main(Native Method) 09-24 18:22:23.692: E/AndroidRuntime(22703): Caused by: android.view.InflateException: Binary XML file line #17: Error inflating class com.clockrock.widget.PullToRefreshLayout 09-24 18:22:23.692: E/AndroidRuntime(22703): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java
0. 些在前面: 最近,又用到ndk去进行jni的开发了,居然连最简单的hello-jni都没有编译过。
在对中TextView setText 覆值int 时报错,网上查下原因是setText整型表明是设值R.id.xxx,当然找不到。
我有一个定时器运行,然后熄灭,并做了一些事情,定时器启动罚款。Android定时器崩溃取消
转载请著名出处 : http://blog.csdn.net/shulianghan/article/details/38064191
Android应用程序框架层创建的应用程序进程具有两个特点,一是进程的入口函数是ActivityThread.main,二是进程天然支持Binder进程间通信机制;这两个特点都是在进程的初始化过程中实现的,本文将详细分析Android应用程序进程创建过程中是如何实现这两个特点的。
E/AndroidRuntime(12220): FATAL EXCEPTION: main
09-03 16:55:16.820:E/AndroidRuntime(16873): FATAL EXCEPTION: main
(备注:本文所讲内容的开发环境 -> Android版本9.0 AndroidStudio 3.4 gradle插件版本 3.5)
Android开发中StackOverflowError错误实例分析 一、概述 我在一个复杂的layout嵌套较多的android界面,碰到了java.lang.StackOverflowError这个Fatal Exception,app程序crash退出。这个错误出现的比较奇怪,在我做技术调研的时候,这个界面是放在单独的一个程序中展示的,工作很正常,没有出现这个严重错误,当将其嵌入到一个ActivityGroup后才报错。 android SDK中对该错误的出现的场景描述为:
12-23 22:47:26.720: W/dalvikvm(3864): threadid=1: thread exiting with uncaught exception (group=0x410af9d8) 12-23 22:47:26.720: E/AndroidRuntime(3864): FATAL EXCEPTION: main 12-23 22:47:26.720: E/AndroidRuntime(3864): java.lang.RuntimeException: Unable to resume activity {com.project.app/com.ui.activity.MainSFA}: android.app.SuperNotCalledException: Activity {com.project.app/com.ui.activity.MainSFA} did not call through to super.onResume() 12-23 22:47:26.720: E/AndroidRuntime(3864): at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2457) 12-23 22:47:26.720: E/AndroidRuntime(3864): at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2485) 12-23 22:47:26.720: E/AndroidRuntime(3864): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1999) 12-23 22:47:26.720: E/AndroidRuntime(3864): at android.app.ActivityThread.access600(ActivityThread.java:126) 12-23 22:47:26.720: E/AndroidRuntime(3864): at android.app.ActivityThreadH.handleMessage(ActivityThread.java:1150) 12-23 22:47:26.720: E/AndroidRuntime(3864): at android.os.Handler.dispatchMessage(Handler.java:99) 12-23 22:47:26.720: E/AndroidRuntime(3864): at android.os.Looper.loop(Looper.java:137) 12-23 22:47:26.720: E/AndroidRuntime(3864): at android.app.ActivityThread.main(ActivityThread.java:4439)
有些系统,因为应用场景的不同,需要的服务也不一样。比如Android Things,为了应对IOT的应用场景,它就裁剪掉了很多服务。下面介绍一下裁剪服务的方法。
看完之后我立马回答:老大,这个我知道,一定是系统应用组的同学忘记在privapp-permissions-platform.xml文件下面加权限声明了。
在Android开发中,View是我们必须要接触的用来展示的技术.通常情况下随着View视图的越来越复杂,整体布局的性能也会随之下降.这里介绍一个在某些场景下提升布局性能的View,它就是ViewStub.
在之前的博客中我们学习了Launcher的启动流程,在SystemServer进程执行完成,各种系统服务启动完成之后,会调用ActivityManagerService中的systemReady()方法,在systemReady()方法中会执行Launcher启动的相关逻辑,本篇博客,我们将一起学习应用程序进程的启动流程,注意:这里是“应用程序进程启动过程”,而不是应用程序启动过程
如果是php做后台的时候,传回时间一般都用时间戳,不要传回一个string 而是传回一个数字
方案1、使用GCM服务(Google Cloud Messaging) 简介:Google推出的云消息服务,即第二代的C2DM。 优点:Google提供的服务、原生、简单,无需实现和部署服务端。 缺点:Android版本限制(必须大于2.2版本),该服务在国内不够稳定、需要用户绑定Google帐号,受限于Google。 方案2、使用XMPP协议(Openfire + Spark + Smack) 简介:基于XML协议的通讯协议,前身是Jabber,目前已由IETF国际标准化组织完成了标准化工作。 优点:协议
报错说明 直接在子线程更新UI会报CalledFromWrongThreadException错,错误如下: 12-20 15:39:04.730: E/AndroidRuntime(2763): FATAL EXCEPTION: Timer-0 12-20 15:39:04.730: E/AndroidRuntime(2763): android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thre
在 Flow 流构建器 中 , 每次 调用 FlowCollector#emit 发射元素时 ,
09-17 18:10:46.298: D/OpenGLRenderer(6785): Flushing caches (mode 0) 09-17 18:10:48.571: D/MediaPlayer(6785): mPlayerID = 46 09-17 18:10:48.885: E/MediaPlayer(6785): error (1, -1008) 09-17 18:10:48.887: W/System.err(6785): java.io.IOException: Prepare failed.: status=0x1 09-17 18:10:48.891: W/System.err(6785): at android.media.MediaPlayer.prepare(Native Method) 09-17 18:10:48.891: W/System.err(6785): at com.jarvis.music.MusicPlayer.playUrl(MusicPlayer.java:91) 09-17 18:10:48.891: W/System.err(6785): at com.jarvis.music.MusicItemPlayer$1.run(MusicItemPlayer.java:66) 09-17 18:10:48.891: W/System.err(6785): at java.lang.Thread.run(Thread.java:856)
没有Bug是任何产品上线前都无法达到的一个目标,包括拥有资深的测试工程师也不能保证上线后100%没问题,因为我们谁也不能把所有功能的操作、运用场景想周全,做周全。
近期在开发过程中,突然出现混淆后程序出现运行时异常,编译是正常的,不混淆也是正常的, 错误信息如下提示
前言 上一篇我们学习了Zygote进程,并且知道Zygote进程启动了SyetemServer进程,那么这一篇我们就来学习Android7.0版本的SyetemServer进程的启动过程。 1.Zygote启动SyetemServer进程 在上一篇文章中我们讲到在ZygoteInit.java的startSystemServer函数中启动了SyetemServer进程,如下所示。 frameworks/base/core/java/com/android/internal/os/ZygoteInit.jav
OkHttp是可以说是Android开发中,每个项目都必需依赖的网络库,我们可以很便捷高效的处理网络请求,极大的提升了编码效率。但是有时候,我们使用OkHttp也会遇到这样的问题
今天碰到这个error:E/AndroidRuntime( 4657): Uncaught handler: thread main exiting due to uncaught e xception E/AndroidRuntime( 4657): java.lang.IllegalStateException: Circular dependencies cannot exist in RelativeLayout 有点郁闷,我用的是skd1.5,在1.5的机器上(HTC G3)已经测试过了,没有问题的,但放在华为c8500(2.1update)上就报上面的错了,怎么回事呢? 根据提示判断应该是布局的原因,于是找到RelativeLayout的布局,找出最可疑的那个,注释后,不报错了。好就是他的原因,挨个看里面的元素,看属性,没错啊,后来发现, <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true"> <TextView android:id="@+id/titleName" android:text="首页" android:textColor="@color/white" android:layout_toLeftOf="@+id/homeBtn" android:layout_marginRight="2px" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView> <ImageButton android:id="@+id/homeBtn" android:layout_toRightOf="@+id/titleName" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/main" android:background="@null" android:layout_marginRight="10px"> </ImageButton> </RelativeLayout> 后来改成: <RelativeLayout android:layout_width="wrap_content" android:layout_marginRight="10px" android:layout_height="wrap_content" android:layout_alignParentRight="true"> <TextView android:id="@+id/titleName" android:text="首页" android:textColor="@color/white" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView> <ImageButton android:id="@+id/homeBtn" android:layout_marginLeft="2px" android:layout_marginTop="2px" android:layout_toRightOf="@+id/titleName" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/main" android:background="@null" > </ImageButton> </RelativeLayout> 能看到区别吗?对就是在titleName中去掉了相对homeBtn的位置信息。再看看报错提示,人家说我在RelativeLayout中存在循环的相关,就是说的这个了。 不过1.5版本的不报错,这就是后续版本的改进吗?
伴随着我们开发的深入,Toast 的问题也逐渐暴露出来。本文章就将解释 Toast 这些问题产生的具体原因。
《Android 系统开发做什么?》写到 Android System Services 是专注于特定功能的模块化组件,应用框架 API 所提供的功能可与系统服务通信,以访问底层硬件。Android System Services 是如何写的?来以DisplayManagerService 为例,具体来看看。
在Android系统中,DVM(Dalvik虚拟机)和ART、应用程序进程以及运行系统的关键服务的SystemServer进程都是由Zygote进程创建的,也可以将其称之为孵化器,它通过fork(复制进程)的形式来创建应用程序进程和SystemServer进程。
Android 系统对每个app都会有一个最大的内存限制,如果超出这个限制,就会抛出 OOM,也就是Out Of Memory 。本质上是抛出的一个异常,一般是在内存超出限制之后抛出的。最为常见的 OOM 就是内存泄露(大量的对象无法被释放)导致的 OOM,或者说是需要的内存大小大于可分配的内存大小,例如加载一张非常大的图片,就可能出现 OOM。
在分析IPC基于Android 6.0)的过程中,里面的核心部分是Native的,并且还包含一些linux kernel,而作为Android开发者看到的代码大部分都是Java层,所以这就一定会存在Java与C/C++代码的来回跳转,那么久很有必要来先说一下JNI,本文主要内容如下:
Android之zygote源码剖析(一) Android之zygote源码剖析(二) Android之zygote源码剖析(三)
在 onCompletion 代码块中进行收尾 时 , 如果是 因为异常导致 Flow 流收集元素失败 , 则可以 在 onCompletion 代码块中拿到异常信息 ;
领取专属 10元无门槛券
手把手带您无忧上云