文章转自:http://blog.csdn.net/lin49940/article/details/6278592 ScrollView 为一些没有滚动条的view 提供滚动条, 方法就是把需要滚动条的...第一步, 先直接用 mScrollView.scrollTo(0, 1000); , 调试发现, activity 初始化过程中, scrollTo() 方法有被执行, 用F5, 内部执行了17 步....第二步, 用post() 方法, 调试发现, activity 初始化过程中, post()执行, activity 初始化后, scrollTo() 方法才被执行, 用F5, 内部执行了25 步, 其中第...第三步, 在onTouchEvent方法中, 执行调用mScrollView.scrollTo(0, 100); scrollTo() 方法有被执行, 用F5, 调试, 内部步骤很多, 绝对超过25了,...这也间接说明了, 在Activity 没初始化完成, ScrollView 对象获取的一些信息是不准确的, 直接导致了scrollTo() 方法无效.
大家好,又见面了,我是你们的朋友全栈君。...问题回顾: 在Android8.0手机上不能直接安装Apk,需要权限申请,回调后执行onActivityResult()方法,并弹出对应的dialog,这时需要判断当前Activity是否处于resume...问题本质 Activity跳转到系统应用后回调onActivityResult() 先执行还是onResume()先执行?...(意思是说当你的Activity重新启动时 onActivityResult() 会在onResume()之前执行) 很显然,如果你的Activity 调用了 startActivityForResult...() 方法启动,回调之后会先执行 onActivityResult() ,然后执行onResume() 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/139798.
在android下,事件的发生是在监听器下进行,android系统能够响应按键事件和触摸屏事件,事件说明例如以下: onClick(View v)一个普通的点击button事件 boolean onKeyMultiple...“;这里就是获得button的实例,然后对他进行监听,当用户点击时就会发生onClick事件,这里还用到一个方法,就是显示一个短消息,在屏幕停留几秒钟就会自己主动消失,其方法例如以下: publicvoid...(keyCode, repeatCount, event); } Android onTouchEvent, onClick及onLongClick的调用机制 针对屏幕上的一个View控件,Android...onClick、onLongClick与onTouchEvent 以前看过一篇帖子提到,假设在View中处理了onTouchEvent,那么就不用再处理onClick了,由于Android仅仅会触发当中一个方法...要弄清楚这个问题仅仅要理解Android对事件处理的所谓消费(consume)概念就可以,一个用户的操作会被传递到不同的View控件和同一个控件的不同监听方法处理,不论什么一个接收并处理了该次事件的方法假设在处理完后返回了
大家好,又见面了,我是你们的朋友全栈君。...1、通过源码查看 Android 版本 路径:build/core/version_defaults.mk PLATFORM_VERSION := 5.1.1 2、通过编译时终端输出查看 =======...HOST_BUILD_TYPE=release BUILD_ID=LMY49F OUT_DIR=out ============================================ 3、通过编译后的输出文件查看
文章目录 一、进入 ijkplayer-android 目录 二、执行 init-android-libyuv.sh 脚本 三、执行 init-android-soundtouch.sh 脚本 参考 https...://github.com/bilibili/ijkplayer 项目的编译过程 ; 一、进入 ijkplayer-android 目录 ---- ijkplayer-android 目录是整个源码的根目录..., 目录下的内容 : 二、执行 init-android-libyuv.sh 脚本 ---- 在 ijkplayer-android 目录中 , 执行 ..../init-android-libyuv.sh 命令 , 下载 libyuv 依赖库 , 之后编译 ijkplayer 需要用到 ; 执行过程 : root@octopus:~/ijkplayer/ijkplayer-android...# 三、执行 init-android-soundtouch.sh 脚本 ---- 在 ijkplayer-android 目录中 , 执行 .
第一种方法:这个方法只能自杀,不能杀死其他进程~ /**************************************************** * 杀死进程的第一种方法...(); //获取当前进程的id android.os.Process.killProcess(myPid); 第二种方法:只能杀死别人,不能杀死自己,比较优雅一点哈~ /***************...************************************* * 杀死进程的第二种方法 * *...需要加入获取包名的权限: 第三种方法:直接终止java虚拟机,导致应用程序死亡,比较暴力哈~ /****************************************************...* 杀死进程的第三种方法 * * * ****
现在的Android应用越来越庞大,开发者越来越能感受到方法数限制带来的影响。这里简单讲几个减少方法数的小建议。 1.什么是方法数?为什么它这么重要? ...很遗憾,Android在刚开始被设计的时候,这一区域的方法数量不能超过65536个,也就是2个字节表示的范围。当源码定义或引用的方法数量超过了这个限制的话,就会导致编译不成功,你说重要不重要呢? ...标准的dexdump可以解析方法列表,但无法打印出来,修改版的dexdump可以打印这些信息 如下是一个简单类LogicActivity中使用的方法 Class: Lcom/xxx/activity/LogicActivity...3.减少方法数的办法 以下所介绍的方法都可以在修改后,用dexdump –j来观察、比较所修改的方法以及验证减少的效果。...因为按照java的语义,如果有覆盖父类的方法,则会直接调用覆盖的方法。
大家好,又见面了,我是你们的朋友全栈君。 上篇文章讲到了apk的分包,通过multidex构建出包含多个dex文件的apk,从而解决65536的方法数限制问题《Android Dex分包》。...ClassLoader的构造方法,然后初始化了DexPathList对象,再来看看DexPathList的构造方法 public DexPathList(ClassLoader definingContext...最终会调用根加载器BootClassLoader的loadClass方法,BootClassLoader也是ClassLoader的内部类,是android平台上所有ClassLoader的parent...Class.classForName,这里第三个参数为null,采用的是根加载器,而根加载器是用来加载java核心类,无法加载用户定义的类,所以这里返回为空 所以又回到一开始ClassLoader的loadClass...方法,调用findClass方法,该方法由其子类覆写,即BaseDexClassLoader中的findClass方法 @Override protected Class> findClass(String
像C、C++、JAVA都有一个主函数作为程序的入口点,但是Android中并没有一个明确的主窗口,那么在有多个Activity的情况下,最先被执行的是哪个呢?...这完全取决于配置文件AndroidMainfest.xml中的配置。...哪个Activity下有下面这段程序,哪个Activity就最先被加载 android:name="...android.intent.action.MAIN" /> android:name="android.intent.category.LAUNCHER
android的MediaRecorder 和MediaPlayer API中用到了JNI,也就是我们的java代码是要调用native的C++方法的 (MediaRecorder ,MediaPlayer...问题的本质就是这样的,那什么叫状态不一致,我们得用代码中来解析下才能看的懂了: 使用的时候我们应该都知道,MediaRecorder 和MediaPlayer 用的方法有哪些了 if (mMediaPlayer.isPlaying...System.out.print(e.getMessage()); } } mRecorder.stop(); mRecorder.release(); 我相信大家都对这些方法都不陌生的...解决方法:让线程睡眠一定的时间,在测试后发现1秒几乎是最短时间。...对象状态不一致导致无法停止,无法释放,无法播放 再往里面说,就是这样的:当我们第一次申请了一个MediaRecorder 录音对象,我们在java中释放掉了,那么谁能告诉我释放的是谁的对象吗,我当时也纠结了
说明一下这个图的意思,就是我要说的配置方法,就是一套图片资源(资源文件要看美工的设计了。最好能是XXX.9.png)配一套布局文件及多套数值文件。 ? 布局文件: android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent..." android:layout_height="fill_parent" android:orientation="vertical" > <ImageView android:layout_width...="@dimen/imagewidth" android:layout_height="wrap_content" android:background="@drawable/ic_launcher
当访问的目标地址需要重定向的时候: 方法的执行顺序:onPageStarted()-->shouldOverrideUrlLoading()-->onPageStarted()-->onPageFinished...当访问的目标地址不需要重定向的时候: 方法的执行顺序:onPageStarted()-->onPageFinished() 这又有了一个问题,当我点击第二个按钮访问google的时候,出现了问题!...没有很快执行onPageFinished(),网页没加载出来,我们想要提醒用户国内无法访问google,但是似乎shouldOverrideUrlLoading的 if (view.getUrl...等了一会才出现下图: 于是乎,我加了一个让人很匪夷所思的空方法!!! super.onPageStarted(view, url, favicon);//点进去看这个方法是空的。...访问异常的情况比如404都会回调onReceivedError方法,正常情况下不会回调。
安装玩Android studio之后创建一个项目(hello world)具体描述为:”Waiting for target device to come online”。即“等待目标设备在线”。...问题解决: ①:命令行(win+r–cmd)定位到android_sdk/platform-tools/目录下,执行”adb kill-server” ②: Go to SDK tools > SDK...Tools Check Android Emulator and click Apply ?...③以上两种方法不行看此方法:绝对是虚拟机权限不够没有开成开发者USB调试模式(图片基于Android7.0) 首先进入设置界面 ?...接着选择关于手机->版本号,连续点击7次版本号(安卓系统的一个trick)系统会提醒你进入开发者模式 ? 然后设置界面就出现了开发者选项,进入打开USB调试模式 ? ? 运行程序即可 ?
背景 最近自家产品开发使用中收到反馈,安卓内嵌网页无法打开PDF,而IOS可以打开。...其实安卓无法打开分以下几种情况:有.pdf后缀但是文档比较小的——可以打开有.pdf后缀但是文档比较大的——无法打开无.pdf后缀的——都打不开原因分析 Android的内置WebView引擎 主要用于显示网页内容和基本的文本渲染...对于不具有.pdf后缀的PDF文件,WebView默认将其视为普通的文本或二进制文件,因此无法直接预览 IOS的WebView使用的是 WebKit引擎 ,该引擎内置了对PDF文件的支持, 可以直接预览和展示...这里我主要针对无.pdf后缀的,H5利用Canvas和PDF.js,给一下我开发时的解决方法。不过我也会将我收集到的安卓的方案写这里,不过我不是安卓开发工程师,欢迎补充。...解决方案安卓方案使用特定的PDF库:Android上有许多为PDF预览和操作提供支持的 第三方库 ,如Adobe PDF Library和MuPDF等。
应用中经常会用到双击返回键在退出应用的效果,目的是为了防止用户误触返回键而导致退出应用。...: public void onBackPressed() { finish(); } super.onBackPressed()是执行系统的默认动作,就是退出当前activity...,所以这样就实现了退出应用的功能。...但是有些时候不执行onBackPressed(),那怎么解决呢 我采用的是重写dispatchKeyEvent代码如下: @Override public boolean dispatchKeyEvent...} return false; } return super.dispatchKeyEvent(event); } 采用此方法
我们经常在优化相机的内存,性能调优或者其相关引起的稳定性流程问题时,需要来针对系统内存大小判断来做camera flow相关客制化修改;内存检测方法参考如下:BOOL GetLowMemorystate
Android剪裁图片简单的方法 /** * 按正方形裁切图片 */ public static Bitmap ImageCrop(Bitmap bitmap) {...int w = bitmap.getWidth(); // 得到图片的宽,高 int h = bitmap.getHeight(); int wh...h : w;// 裁切后所取的正方形区域边长 int retX = w > h ?
在用Android Studio做开发时,如果将build之后的app-debug版本发给用户,用户会无法安装。...这里有两种解决方案: 一、发布app-release版本 该方案需要用到签名,较为麻烦,具体方法可以看我的这篇文章。...Android:发布应用流程记录 二、添加配置,一步解决 在gradle.properties 文件添加一下配置: android.injected.testOnly=false 较为简单,测试首选。
我相信很有朋友会像我一样遇到这样的情况:android studio 提示插件需要更新,但是由于网络的原因,无法更新,这里笔者提供GsonFormat和genymotion的最新jar包下载地址,每次提示更新就去这里下载最新的就好了...pr= genymotion最新jar包的下载地址:https://www.genymotion.com/#!.../developers 其他插件的话 大家可以google搜索你需要jar包的官方网站 资源下载 gsonformat.jar http://download.csdn.net/detail.../lxk_1993/9327241 eclipse, genymotion.jar http://download.csdn.net/detail/lxk_1993/9327229 android...studio, genymotion.jar http://download.csdn.net/detail/lxk_1993/9327209 android-butterknife-zelezny.jar
Android Studio2.x版本无法自动关联源码的解决方法 在学习android开发过程中,对于一个不熟悉的类,阅读源码是一个很好的学习方式,使用andorid studio开发工具的...如果android studio的版本为2.0以上,需要注意,尽管下载了源码文件,可以在跳转源码的时候,会报错误找不到源码 Sources for 'Android API 23 Platform' not...我猜想出现这样的原因是android studio2.x工具的一个小bug,下载源码后,它没有自动对源码路径进行关联,我们可以手段添加源码路径来解决这个问题。 ...2.在android studio偏好设置jdk.table.xml文件中添加源码路径,这个文件在android studio开发工具的配置目录中,路径如下: 在Windows系统中,一般为:系统盘:\...Users\username\.你的android studio名称及版本\config\options 在OS系统中,一般为:~/Library/Preferences/你的android studio
领取专属 10元无门槛券
手把手带您无忧上云