activity

Android压力测试命令monkey详解

匿名 (未验证) 提交于 2019-12-03 00:09:02
一、Monkey 是什么? Monkey 就是SDK中附带的一个工具。 二、Monkey 测试的目的? :该工具用于进行压力测试。 然后开发人员结合monkey 打印的日志 和系统打印的日志,结局测试中出现的问题。 三、Monkey 测试的特点? Monkey 测试,所有的事件都是随机产生的,不带任何人的主观性。 四、Monkey 命令详解 1).标准的monkey 命令 [adb shell] monkey [options] <eventcount> , 例如: adb shell monkey -v 500 --------产生500次随机事件,作用在系统中所有activity(其实也不是所有的activity,而是包含 Intent.CATEGORY_LAUNCHER 或Intent.CATEGORY_MONKEY 的activity)。 上面只是一个简单的例子,实际情况中通常会有很多的options 选项 2).四大类―― 常用选项 、 事件选项 、 约束选项 、 调试选项 1:常用选项 复制代码 代码如下: --help:打印帮助信息 -v:指定打印信息的详细级别,一个 -v增加一个级别 , 默认级别为 0 。 2:事件选项 复制代码 代码如下: -s:指定产生随机事件种子值,相同的种子值产生相同的事件序列。如: -s 200 --throttle

Android快速定位当前页面的Activity

匿名 (未验证) 提交于 2019-12-03 00:09:02
通过AndroidStudio的Terminal,利用一个指令可以快速定位当前页面的类名。 1.把手机用数据线连到电脑,手机打开到需要的定位的页面。 2.打开AndroidStudio。在AndroidStudio底部选择Terminal,输入指令: adb shell "dumpsys window | grep mCurrentFocus"回车即可。 会显示出包名和Activity类名 主意的是这个命令只能定位Activity,如果是fragment则显示该fragment所依附的Activity. 来源:51CTO 作者: kururunga 链接:https://blog.csdn.net/kururunga/article/details/101055002

Android高级面试 ―― onActivityResult能不能设计成回调?

匿名 (未验证) 提交于 2019-12-03 00:05:01
文章目录 1. 你觉得onActivityResult好用吗? 2. onActivityResult能设计成回调吗? 我觉得这是一个很有趣的问题,有趣的除了题目本身,也在于其引申出的感悟。我们在使用和学习Android Framework相关的内容时,除了要了解其内部实现机制,还要求自己要试着去反思,或者提问其设计的目的,这样才能帮助我们更好的理解和吸收其设计的精髓之处。 1. 你觉得onActivityResult好用吗? 面试官在提出设计问题前可能会先抛砖引玉,先提出这个问题来探一探面试者有没有真正的去体验和总结相关的内容。大部分人可能会说,麻烦!那为什么麻烦呢?首先先看一下onActivityResult是怎么使用的: // Activity A startActivityForResult ( intent , requestCode ) ; // Activity B setResult ( resultCode , intent ) ; // Activity A @Override protected void onActivityResult ( int requestCode , int resultCode , Intent data ) { super . onActivityResult ( requestCode , resultCode , data

[Android]Android开发入门之HelloWorld

匿名 (未验证) 提交于 2019-12-03 00:05:01
引言 :在做Unity开发的时候,发现这么个问题,虽然Unity是跨平台的,能够进行Android,IOS,Web,PC等开发,但如果要实现一些稍微系统层的东西,还是需要通过通信,调用原系统的接口(自定义的接口)来进行开发的,所以这还是需要了解其他平台原生态的开发的,之前我Web,IOS开发有了一定了解,最近要实现一个移动平台的二维码扫描功能,由于IOS我在现有资源的情况下,不能进行真机调试,但Android平台开发我又不熟悉,所以感觉很是头疼,于是就下定决心还是要了解一下原生态的Android开发,求人不如靠己,求人只能是暂时的,再有耐心的人都经过不起你的反复的问,他人也有他人的工作! 学习一门新的技术,都是从HelloWorld开始!这个是众所周知的,输入HelloWorld也就是进入了该开发的大门!下面我就写一下学习心得! 之前我一直从事的是Visual Stdio软件下的开发,无论是cocos2dx还是.net,Unity3d,都离不开VS,感觉微软最成功的不仅仅是Windows操作系统,还有一个就是Visual Stdio集成开发环境,我之前一直没有触碰与java相关的开发方向,就是因为习惯使用了VS,并且已经爱上它了,就不习惯Eclipse开发环境,java开发的程序员或许也会有这感觉,习惯上了Eclipse开发环境也就独爱它一样

Activity的onSaveInstanceState()和 onRestoreInstanceState()方法

匿名 (未验证) 提交于 2019-12-03 00:04:02
@Override protected void onRestoreInstanceState ( Bundle savedState ) { super . onRestoreInstanceState ( savedState ); mSeries = ( CategorySeries ) savedState . getSerializable ( "current_series" ); mRenderer = ( DefaultRenderer ) savedState . getSerializable ( "current_renderer" ); } @Override protected void onSaveInstanceState ( Bundle outState ) { super . onSaveInstanceState ( outState ); outState . putSerializable ( "current_series" , mSeries ); outState . putSerializable ( "current_renderer" , mRenderer ); } Activity的 onSaveInstanceState() 和 onRestoreInstanceState()并不是生命周期方法,

Android adb命令打印activity堆栈

匿名 (未验证) 提交于 2019-12-02 23:49:02
ubuntu系统: adb shell dumpsys activity activities | sed -En -e '/Running activities/,/Run #0/p' window系统: 方法一: adb shell 进入,然后执行: dumpsys activity activities | sed -En -e '/Running activities/,/Run #0/p' 方法二:添加引号 adb shell "dumpsys activity activities | sed -En -e '/Running activities/,/Run #0/p'" 方法三: adb shell dumpsys activity | findstr Run

LeakCanary 与 鹅场Matrix ResourceCanary对比分析

匿名 (未验证) 提交于 2019-12-02 23:47:01
推荐阅读: 滴滴Booster移动App质量优化框架-学习之旅 一 Android 模块Api化演练 不一样视角的Glide剖析(一) 1、组件启动 LeakCanary自动注册启动 原理:专门定制了一个ContentProvider,来注册启动LeakCanary 实现如下: /** * Content providers are loaded before the application class is created. [LeakSentryInstaller] is * used to install [leaksentry.LeakSentry] on application start. */ internal class LeakSentryInstaller : ContentProvider() { override fun onCreate(): Boolean { CanaryLog.logger = DefaultCanaryLog() val application = context!!.applicationContext as Application InternalLeakSentry.install(application) return true } ... } public class MatrixApplication extends

ActionBar的移除与显示

匿名 (未验证) 提交于 2019-12-02 23:43:01
2019独角兽企业重金招聘Python工程师标准>>> activity_main.xml: <RelativeLayout xmlns:android = "http://schemas.android.com/apk/res/android" xmlns:tools = "http://schemas.android.com/tools" android:layout_width = "match_parent" android:layout_height = "match_parent" android:paddingBottom = "@dimen/activity_vertical_margin" android:paddingLeft = "@dimen/activity_horizontal_margin" android:paddingRight = "@dimen/activity_horizontal_margin" android:paddingTop = "@dimen/activity_vertical_margin" tools:context = ".ActionBarHiddenActivity" > <Button android:id = "@+id/button" android:layout_width = "wrap_content"

Android实现点击两次返回退出APP

匿名 (未验证) 提交于 2019-12-02 23:41:02
Android实现点击两次退出APP 1、实现活动的集合类 import android.app.Activity; import java.util.ArrayList; import java.util.List; //提供一个专门的集合类对所有的活动进行管理 //方便随时退出程序 public class ActivityCollector { public static List<Activity> sActivities=new ArrayList<>(); public static void addActivity(Activity activity){ sActivities.add(activity); } public static void removeActivity(Activity activity){ sActivities.remove(activity); } public static void finishAll(){ for(Activity activity:sActivities){ if(!activity.isFinishing()){ activity.finish(); } } sActivities.clear(); } } 接下来修改主界面之前的活动,这里我主要是在登录界面和注册界面中添加了如下代码: public class