standard:默认的模式,每次启动会新创建一个activity对象singleTop:在当前任务栈中,判断栈顶是否为当前的activity,如果是,就直接使用,如果不是,就会创建新的activity放入栈顶singleTask:在当前任务栈中,判断栈里是否存在当前的activity,如果不存在,就会创建新的activity入栈,如果存在,会把该activity之上所有activity清理出栈,显示当前activitysingleInstance:新创建一个任务栈,放入新创建的activity,该任务栈只允...
使用intent启动activity/** * Serializeable传递对象的方法 */privatevoidSerializeMethod(){ Person mPerson = new Person(); mPerson.setName("andy"); mPerson.setAge(26); Intent mIntent = new Intent(this,SerializableDemo.class); Bundle mBundle = new Bundle(); mBundle.putSerializable(SER_KEY,mPerson); mIntent.putExtras(mBundle); startActivity(mIntent); } /** * Pacelable传...
获取当前运行的APP包名和activity:adb shell dumpsys window w |findstr \/ |findstr name=方法一在appium的android setting中选择下载到电脑上的app包,获取Activity。方法二在android-sdk中安装build-tools包,进入这个目录。aapt dump badging *.apk(下载到电脑上的app包路径)方法三连接到电脑,打开app。adb devices(查看手机是否连接到电脑)adb logcat | grep ActivityManager(查看当前正在运行的Activity)或:adb log...
Android 系统启动过程从系统层看:linux 系统层Android系统服务层Zygote从开机启动到Home Launcher:启动bootloader (小程序;初始化硬件)加载系统内核 (先进入实模式代码在进入保护模式代码)启动init进程(用户级进程 ,进程号为1)启动Zygote进程(初始化Dalvik VM等)启动Runtime进程启动本地服务(system service)启动 HomeLauncher详细解析Android系统完整的启动过程,从系统层次角度可分为Linux系统层、Android系统服务...
1java.lang.IllegalStateException: Activity has been destroyed2 at android.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1295)3 at android.app.BackStackRecord.commitInternal(BackStackRecord.java:552)4 at android.app.BackStackRecord.commit(BackStackRecord.java:536)5 at com.tongyan.subway.inspect.act.HistoryManageAct.createFragment(HistoryManageAct.java:1021)6 at com.tongy...
【问题】当在Android项目路径下,使用javah指令生成.h文件时,javah -classpath bin/classes -d jni com.example.myhellojni.MainActivity 出现--->错误:无法访问android.app.Activity 找不到android.app.Activity的类文件。其中 -classpath bin:表示类的路劲其中 -d jni: 表示生成的头文件存放的目录其中 com.example.hellojni.HelloJni 则是完整类名 【解决办法】进入src目录,使用javah -d ../jni com.example.myhellojni.Mai...
0、总图1、总图中的第一步,Laucher主线程向ActivityManagerService进程发出START_ACTIVITY_TRANSACTION 如图:第一步 ~/Android/frameworks/base/core/java/android/app ----ActivityManagerNative.javaclass ActivityManagerProxy implements IActivityMan...
错误描述为:java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.起因:我想在Manifest中设置我的activity全屏,代码如下: <activityandroid:name=".MainActivity"android:theme="@android:style/Theme.NoTitleBar.Fullscreen"android:label="@string/app_name" >原因:从错误提示中提到Theme.AppCompat theme,这是因为我们的activity一定是继承了兼容包中的...
研究这个问题的初衷在于项目中碰到了一个问题:横屏的时候灭屏再亮屏,亮屏的时候用户可以清晰的看到先启动竖屏(过程1)再切换到横屏的过程,由于灭屏的时候onSaveInstanceState()保存的时横屏时的状态信息,因此过程1竖屏会使用到横屏的状态参数而且这一过程用户是可见的,因此会导致一些意想不到的Bug的出现。探究使用的实例中我用了屏幕的横竖屏和宽这两个配置信息来说明生命周期中此时系统所知道的屏幕的客观状态,注意这个客...
一、概述:Activity是android的四大组件之一,是用户接口程序,它会提供给用户一个交互式的接口功能。它是 android 应用程序的基本功能单元,其实Android中的Activity运行机制跟servlet有些相似之处,Android系统相当于servlet容器,Activity相当于一个servlet,我们的Activity处在这个容器中,一切创建实例、初始化、销毁实例等过程都是容器来调用的 ,activity 本身是没有界面的。所以activity类创建了一个窗口,开发人员可以通过...
在Android中,无论是开发者还是用户,接触最多的就算是Activity。它是Android中最复杂、最核心的组件。Activity组件是负责与用户进行交互的组件,它的设计理念在很多方面都和Web页面类似。当然,这种相似性主要体现在设计思想上。在具体实现方面,Android的Activity组件有自己的设计规范,同时,它能够更简便地使用线程、文件数据等本地资源。一、Activity 的生命周期Activity 的生命周期是被以下的函数控制的。 1publicclass Acti...
今天调试代码的时候,出现很奇怪的现象: \XX\bin\Home.apk installed on device. 一般来说即使已经装到设备中,也没有这个提示,况且更奇怪的是,程序并又有自动运行.查看一个 log,无意中发现说 Activity not found.按照平时,一般是没有在‘AndroidManifest.xml‘文件中注册Activity,但是发现已注册,后来才知道,原来在我的Activity中,嵌套了两个<intent-filter>.所以说,有时Log提示是很模糊的,有时Activity格式错也会报错.原文:http:/...
最近在项目中遇到长时间反复启动结束一个activity是会出现崩溃的情况,错误报告:android.view.InflateException: Binary XML file line ... Error inflating class <unknown>查询资料有大神说是内存溢出(http://stackoverflow.com/questions/7536988/android-app-out-of-memory-issues-tried-everything-and-still-at-a-loss/7576275)查看错误日志的确有报 Caused by: java.lang.OutOfMemoryError 不过是在系统源码里面解决方案...
昨天新建的项目,今天打开的时候,发现无法编译了。编译按钮无法点击,必须edit configuration。并且报错 default activity not found从网上搜索了解决方案。第一步:在AndroidMainfest.xml文件中,将设置成main的activity的路径。写成绝对路径,也就是需要packageName.className的方式补全之后再去测试。如果不可以在进行第二步:在main activity的intent-filter中添加如下属性<action android:name="packageName.className"/> 具...
显示手机运行的Activity本文地址:http://blog.csdn.net/caroline_wendy手机中,需要调试程序的界面,可以快速进行定位,使用Android开发工具ADB(Android Debug Bridge)。针对于Mac系统1. ADB的位置: $ cd /Applications/Android\ Studio.app/sdk/platform-tools/2. shell命令的位置: $ echo $PATH3. 把程序在目录中建立连接: $ sudo ln -s /Applications/Android\ Studio.app/sdk/platform-tools/adb /usr/local/bin/adb4. 显示a...