`
文章列表
平常我们遇到不清楚代码逻辑的,可以通过打印调用堆栈来理清楚,如下为各层打印堆栈的方法: 1. Java打印调用堆栈 Exception e = new Exception("test"); e.printStackTrace(); 或者 Log.d("test",Log.getStackTraceString(new Throwable())); 2. JNI打印调用堆栈 class  throwable_class = env->FindClass("java/lang/Throwable"); jmethodID  t ...
Android Webview加载www.youtube.com的问题 1.若在AndroidManifest.xml去掉android:hardwareAccelerated="true"即不启动硬件加速,会导致有声音但视频显示黑色。所以要开启硬件加速 WebView中也有对此的说明: <h3>HTML5 Video support</h3> * * <p>In order to support inline HTML5 video in your application you need to have hardware * ac ...
我们可以通过Log.isLoggable来动态开关log的输出。 http://androidxref.com/8.1.0_r33/xref/frameworks/base/core/java/android/util/Log.java android.util.Log中的isLoggable方法解析:     /**      * Checks to see whether or not a log for the specified tag is loggable at the specified level.     *      *  The default level of any t ...
转https://blog.csdn.net/tankai19880619/article/details/17589015 frameworks/base/core/java/view/inputmethod/InputConnection.java public interface InputConnection {   public boolean deleteSurroundingText(int beforeLength, int afterLength);  //删除输入的字符   public boolean commitText(CharSequence text, int n ...
11-05 10:08:18.058   673   736 W BroadcastQueue: Background execution not allowed: receiving Intent { act=android.intent.action.TEST flg=0x400010 } to mvp.com.presentationapp/.PresentationScreenReceiv er 在Android O上处于安全的考虑,google不允许广播隐试intent了。可以查看源码http://androidxref.com/8.1.0_r33/xref/frameworks/b ...
在App的mk文件设置了LOCAL_CERTIFICATE := platform和在 AndroidManifest.xml里有android:sharedUserId="android.uid.system"进行 SystemProperties.set("persist.env.test.enabled", String.valueOf(true)); 报java.lang.RuntimeException: failed to set system property。 1.SystemProperties.set("persist.s ...
dalvik.vm.heapstartsize=8m 相当于虚拟机的 -Xms配置,该项用来设置堆内存的初始大小。 dalvik.vm.heapgrowthlimit=192m 相当于虚拟机的 -XX:HeapGrowthLimit配置,该项用来设置一个标准的应用的最大堆内存大小。 一个标准的应用就是没有使用android:largeHeap的应用。 dalvik.vm.heapsize=512m 相当于虚拟机的 -Xmx配置,该项设置了使用android:largeHeap的应用的最大堆内存大小。 dalvik.vm.heaptargetutilization=0.75 相当于虚拟机的 -XX ...
Suite / Plan:VTS / cts-on-gsi Suite / Build: 8.1_R4 / 4766758 test_result_failures.html显示: dEQP-GLES3.functional.shaders.declarations.invalid_declarations#uniform_block_in_vertex fail === with config {glformat=rgba8888d24s8ms0,rotation=unspecified,surfacetype=window,required=true} === dEQP-GLES3.fu ...
今天客户提了一个bug说在短信添加附件,界面无法显示缩略图。接到这个bug我第一反应是缩略图生成失败了。 1.复现问题 1)在自己手上的版本无法复现该问题,再详细确认客户所处的分支,发现客户的分支与自己的不一致。 2)找与客户对应的分支的测试机器,复现只有当在Recent最近这个页面不能显示缩略图,其他页面都可以正常显示 2.通过Monitor—Hierarchy View工具查看Recent页面找到显示图片的icon的id为:icon_mime_lg.在DocumentUI搜索icon_mime_lg,定位到代码GridDocumentHolder.java @Override ...
在任务栏中清除掉播放器的进程,状态栏仍有音乐播放器状态,且音乐仍在后台播放 1.先从UI切入问题分析,使用Monitor—Hierarchy View找到清除任务X按钮对应的id为r.id.dismiss_task,并且属于SystemUI 2.到SystemUI定位到包含dismiss_task的是TaskViewHeader.java,该按钮对应的onClick事件为: TaskView tv = Utilities.findParent(this, TaskView.class); tv.dismissTask(); // Kee ...
之前对于CTS测试的失败case接触不多,组长突然转了这样一个bug给我。 1027 I TestRunner: failed: testAvcGoog0Perf0320x0240(android.media.cts.VideoDecoderPerfTest) 05-23 01:24:17.675 1007 1027 I TestRunner: ----- begin exception ----- 05-23 01:24:17.676 1007 1027 I TestRunner: junit.framework.AssertionFailedError: Failed to ge ...
有时候没有对应的硬件设备,那我们就得通过某种方式来模拟。比如模拟实体键盘的输入事件。有时候测试的时候,需要大量的重复同一个点击动作(几年前老总要求测试MM重复一个动作1000次,当时我听后就觉得崩溃幸好我不是测试的),如果人工操作会很耗时耗力,此时就得自动化,那也得模拟人的操作。以上两个问题我们都可以adb shell input和adb shell sendevent/getevent三个命令来完成即可,可以写成脚本在电脑端执行,也可以写一个小程序在手机端允许。 具体用法可以参考以下链接 https://blog.csdn.net/soslinken/article/details/49587 ...
Android 在Android 23增加了UndoManager撤销相关的处理,EditText可以使用android:allowUndo来配置是否支持撤销的功能。 当我们的设备连接了实体键盘,可以通过crl+z来撤销输入。(TextView with the default Control-Z undo behavior.) 可以参考http://androidxref.com/8.0.0_r4/xref/development/samples/ApiDemos/src/com/example/android/apis/content/TextUndoActivity.java http ...
很早之前接触ContentProvider知道它提供的方法就是query,insert,update,delete这几个常用的方法,最近在解决Email的问题时发现ContentProvider提供了一个有意思的方法Call,通过这个方法可调用到ContentProvider自定义的方法。 /** * Call a provider-defined method. This can be used to implement * interfaces that are cheaper and/or unnatural for a table-like * ...
当用户在Setting中清除了Email的data,再返回到Email进行新建邮件就会一直显示“waiting for sync”.从字面的意思就是要进行同步,我跑到Setting-->Account中手动同步了账号,再新建邮件,发现问题仍一直存在。 1.导出Email APP的数据查看Account tables的数据发现,发生问题和正常时数据是一致的 2.通过搜索“waiting for sync”定位到显示该UI的是在ComposeActivity.java中 private void showWaitFragment(Account account) { ...
Global site tag (gtag.js) - Google Analytics