native内存泄漏检测原理?
有一个api
API:get_malloc_leak_info
参考:
https://blog.csdn.net/u011280717/article/details/51820268
内存大概印象
一个system UI大概就是70多M的样子
一个3D游戏也是70多M的样子
一个Setting大概30多M的样子
Uptime和Realtime是什么?
应该是开机时间
内存PSS是什么?
Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存)
就是平分了so库的,所以最后加起来就是占用的总大小。很稳
Lost RAM是什么
不可见内存
Lost = driver reserve + GPU + ION
ION是内存管理器。
参考:https://www.jianshu.com/p/6893cea51512
进程优先级
查看,如下是前台进程。
1|Hi3798MV200:/proc/4666 $ su
Hi3798MV200:/proc/4666 # cat oo
oom_adj oom_score oom_score_adj
Hi3798MV200:/proc/4666 # cat oom_score_adj
0
定义是在ProcessList.java文件中

参考:
https://www.jianshu.com/p/4ee14aa23f07
LowMemKiller原理
就是内存较低的时候去杀进程。
依赖两个节点的值去杀:
/sys/module/lowmemorykiller/parameters/adj
/sys/module/lowmemorykiller/parameters/adj
看上去只会杀Android应用进程的样子。
Android又分成adjType
可以看到有很大堆

pts是什么?
绘制流程
hwc_STB.cpp
hwc_prepare
hwc_common_STB.cpp
hisi_hwc_prepare
分析
出现下面的崩溃
--------- beginning of crash
05-30 07:40:38.617 4701 4701 E AndroidRuntime: FATAL EXCEPTION: main
05-30 07:40:38.617 4701 4701 E AndroidRuntime: Process: com.antutu.videobench, PID: 4701
05-30 07:40:38.617 4701 4701 E AndroidRuntime: android.database.sqlite.SQLiteConstraintException: UNIQUE constraint failed: VideoResult.videoId (code 1555)
05-30 07:40:38.617 4701 4701 E AndroidRuntime: at android.database.sqlite.SQLiteConnection.nativeExecuteForChangedRowCount(Native Method)
05-30 07:40:38.617 4701 4701 E AndroidRuntime: at android.database.sqlite.SQLiteConnection.executeForChangedRowCount(SQLiteConnection.java:734)
05-30 07:40:38.617 4701 4701 E AndroidRuntime: at android.database.sqlite.SQLiteSession.executeForChangedRowCount(SQLiteSession.java:754)
05-30 07:40:38.617 4701 4701 E AndroidRuntime: at android.database.sqlite.SQLiteStatement.executeUpdateDelete(SQLiteStatement.java:64)
05-30 07:40:38.617 4701 4701 E AndroidRuntime: at android.database.sqlite.SQLiteDatabase.executeSql(SQLiteDatabase.java:1677)
05-30 07:40:38.617 4701 4701 E AndroidRuntime: at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1656)
05-30 07:40:38.617 4701 4701 E AndroidRuntime: at com.antutu.videobench.c.a.c.a(Unknown Source)
05-30 07:40:38.617 4701 4701 E AndroidRuntime: at com.antutu.videobench.activity.bh.handleMessage(Unknown Source)
05-30 07:40:38.617 4701 4701 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:102)
05-30 07:40:38.617 4701 4701 E AndroidRuntime: at android.os.Looper.loop(Looper.java:154)
05-30 07:40:38.617 4701 4701 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:6097)
05-30 07:40:38.617 4701 4701 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
05-30 07:40:38.617 4701 4701 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1013)
05-30 07:40:38.617 4701 4701 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:903)
05-30 07:40:38.718 2665 3464 W ActivityManager: Force finishing activity com.antutu.videobench/.activity.TestMoviePlayerActivity
有一些注册失败
05-30 07:37:57.975 1707 3979 E AV : Do HI_UNF_AVPLAY_RegisterAcodecLib("libHA.AUDIO.DOLBYPLUS.decode.so") error, error code = 0xffffffff
05-30 07:37:57.975 1707 3979 E AV : Do HI_UNF_AVPLAY_RegisterAcodecLib("libHA.AUDIO.DTSHD.decode.so") error, error code = 0xffffffff
05-30 07:37:57.975 1707 3979 E AV : Do HI_UNF_AVPLAY_RegisterAcodecLib("libHA.AUDIO.DTSM6.decode.so") error, error code = 0xffffffff
05-30 07:37:57.976 1707 3979 E AV : Do HI_UNF_AVPLAY_RegisterAcodecLib("libHA.AUDIO.DRA.decode.so") error, error code = 0xffffffff
05-30 07:37:57.976 1707 3979 E AV : Do HI_UNF_AVPLAY_RegisterAcodecLib("libHA.AUDIO.DOLBYTRUEHD.decode.so") error, error code = 0xffffffff
05-30 07:37:57.977 1707 3979 E AV : Do HI_UNF_AVPLAY_RegisterAcodecLib("libHA.AUDIO.WMA.decode.so") error, error code = 0xffffffff
Line 1308: 05-30 07:37:50.314 1707 3089 V HisiMediaPlayer: set vdec error cover: 0
05-30 08:17:30.928 2665 2694 D hwcursor: show the hal fb!
05-30 08:17:30.945 2665 2688 D ViewRootImpl[videobench]: updatePointerIcon called with position out of bounds

注册在这里
http:///device/hisilicon/bigfish/sdk/source/msp/api/avplay/
代码框架主要在

有时占用超过了75
User 74%, System 25%, IOW 0%, IRQ 0%
User 955 + Nice 3 + Sys 333 + Idle 0 + IOW 0 + IRQ 0 + SIRQ 0 = 1291
PID USER PR NI CPU% S #THR VSS RSS PCY Name
17412 u0_a48 20 0 55% S 46 1192132K 317484K fg com.antutu.videobench
26595 u0_a53 20 0 25% S 43 1270296K 59272K fg tv.danmaku.bili:ijkservice
2279 root 20 0 10% S 4 31244K 1128K fg /tmp/ava/lighttpd/fastcgi/playguide.fcgi
1896 root 20 0 0% D 1 0K 0K fg AoEngineTask
1708 audioser 20 0 0% S 11 58584K 4632K fg /system/bin/audioserver
501 root RT 0 0% D 1 0K 0K unk HI_VPSS_Process
1707 media 20 0 0% S 21 161164K 33484K fg /system/bin/mediaserver
26501 u0_a53 16 -4 0% S 102 1338544K 173636K fg tv.danmaku.bili
1702 system 20 0 0% S 15 114584K 8780K fg /system/bin/dtvserver
1672 system 12 -8 0% S 15 133424K 4160K fg /system/bin/surfaceflinger
HDMI看
https://blog.csdn.net/cyz_1257/article/details/54849213
如何主动调用abort
查看:https://blog.csdn.net/pxy139/article/details/79778017
SEGV_MAPERR是什么?
访问的内存还没有映射,一般是空指针
参考:https://www.jianshu.com/p/8c0863e4cb72
hw_get_module(GRALLOC_HARDWARE_MODULE_ID, &module)是怎么查看的?
coredump分析步骤
https://blog.csdn.net/jornas/article/details/80295686
开不了coredump
get_signal_to_deliver
sig_kernel_coredump
在公司可以开
在海思的目录开

生成在kernel.img,根文件系统
setrlimit 4 -1 -1
mkdir /data/coredump 0777 system system
write /proc/sys/kernel/core_pattern /data/coredump/core.%e.%p
write /proc/sys/fs/suid_dumpable 1
on boot
setrlimit 4 -1 -1
mkdir /data/coredump 0777 system system
write /proc/sys/kernel/core_pattern /data/coredump/core.%e.%p
write /proc/sys/fs/suid_dumpable 1
5.实时查看kernel log
adb shell
参考https://blog.csdn.net/ztguang/article/details/70136154
binder/proc/
海思打包
/device/hisilicon/bigfish/build/ext4.mk
问题
print变量中出现<optimized out>。
解决
添加编译选项-O0,意思是不进行编译优化,gdb在默认情况下会使用-O2。
使用-O0选项调试的时候就会顺畅了,发布项目的时候不用再使用 -O0参数项,gcc 默认编译或加上-O2优化编译会提高程序运行速度。在muduo源码中使用-O2选项,调试的时候对其Makefile进行修改即可。
批量打印stack,使用ndk-stack,build.py
妈的 怀疑是内核死锁了
rw_semaphore
参考:https://blog.csdn.net/juS3Ve/article/details/79428049
参考:
https://www.jianshu.com/p/dabaded56e03?from=timeline
汇编代码
函数返回
MOV pc,lr
stp是什么命令?
surface分配内存
/frameworks/native/libs/gui/Surface.cpp
static inline int native_window_set_buffers_dimensions(
struct ANativeWindow* window,
int w, int h)
{
return window->perform(window, NATIVE_WINDOW_SET_BUFFERS_DIMENSIONS,
w, h);
}
这里去设置大小。
static inline int native_window_set_buffers_user_dimensions(
struct ANativeWindow* window,
int w, int h)
{
return window->perform(window, NATIVE_WINDOW_SET_BUFFERS_USER_DIMENSIONS,
w, h);
}
设置backtrace
Stack frame #00 pc 0004dadf /system/lib/libgui.so (_ZN7android7Surface20setBuffersDimensionsEjj+82): Routine android::Surface::setBuffersDimensions(unsigned int, unsigned int) at /proc/self/cwd/frameworks/native/libs/gui/Surface.cpp:980 (discriminator 1)
Stack frame #01 pc 0004be11 /system/lib/libgui.so (_ZN7android7Surface12hook_performEP13ANativeWindowiz+40): Routine android::Surface::hook_perform(ANativeWindow*, int, ...) at /proc/self/cwd/frameworks/native/libs/gui/Surface.cpp:213 (discriminator 2)
Stack frame #02 pc 000e8575 /system/lib/libstagefright.so (_ZN7android33setNativeWindowSizeFormatAndUsageEP13ANativeWindowiiiiib+140): Routine native_window_set_buffers_dimensions(ANativeWindow*, int, int) at /proc/self/cwd/system/core/include/system/window.h:762
Stack frame #03 pc 00089455 /system/lib/libstagefright.so (_ZN7android6ACodec35setupNativeWindowSizeFormatAndUsageEP13ANativeWindowPib+448): Routine android::ACodec::setupNativeWindowSizeFormatAndUsage(ANativeWindow*, int*, bool) at /proc/self/cwd/frameworks/av/media/libstagefright/ACodec.cpp:1136
Stack frame #04 pc 0008a6eb /system/lib/libstagefright.so (_ZN7android6ACodec38configureOutputBuffersFromNativeWindowEPjS1_S1_b+106): Routine android::ACodec::configureOutputBuffersFromNativeWindow(unsigned int*, unsigned int*, unsigned int*, bool) at /proc/self/cwd/frameworks/av/media/libstagefright/ACodec.cpp:1158
Stack frame #05 pc 0008a0b1 /system/lib/libstagefright.so (_ZN7android6ACodec37allocateOutputBuffersFromNativeWindowEv+36): Routine android::ACodec::allocateOutputBuffersFromNativeWindow() at /proc/self/cwd/frameworks/av/media/libstagefright/ACodec.cpp:1240 (discriminator 1)
Stack frame #06 pc 00089557 /system/lib/libstagefright.so (_ZN7android6ACodec21allocateBuffersOnPortEj+102): Routine android::ACodec::allocateBuffersOnPort(unsigned int) at /proc/self/cwd/frameworks/av/media/libstagefright/ACodec.cpp:839
Stack frame #07 pc 00097189 /system/lib/libstagefright.so (_ZN7android6ACodec17LoadedToIdleState12stateEnteredEv+28): Routine android::ACodec::LoadedToIdleState::stateEntered() at /proc/self/cwd/frameworks/av/media/libstagefright/ACodec.cpp:7163
Stack frame #08 pc 0000edf5 /system/lib/libstagefright_foundation.so (_ZN7android25AHierarchicalStateMachine11changeStateERKNS_2spINS_6AStateEEE+368): Routine android::AHierarchicalStateMachine::changeState(android::sp<android::AState> const&) at /proc/self/cwd/frameworks/av/media/libstagefright/foundation/AHierarchicalStateMachine.cpp:114 (discriminator 2)
Stack frame #09 pc 000965e5 /system/lib/libstagefright.so (_ZN7android6ACodec11LoadedState7onStartEv+80): Routine android::ACodec::LoadedState::onStart() at /proc/self/cwd/frameworks/av/media/libstagefright/ACodec.cpp:7149 (discriminator 1)
Stack frame #10 pc 00096a1d /system/lib/libstagefright.so (_ZN7android6ACodec11LoadedState17onMessageReceivedERKNS_2spINS_8AMessageEEE+160): Routine android::ACodec::LoadedState::onMessageReceived(android::sp<android::AMessage> const&) at /proc/self/cwd/frameworks/av/media/libstagefright/ACodec.cpp:6877
Stack frame #11 pc 0000ebc5 /system/lib/libstagefright_foundation.so (_ZN7android25AHierarchicalStateMachine13handleMessageERKNS_2spINS_8AMessageEEE+76): Routine android::AHierarchicalStateMachine::handleMessage(android::sp<android::AMessage> const&) at /proc/self/cwd/frameworks/av/media/libstagefright/foundation/AHierarchicalStateMachine.cpp:58 (discriminator 5)
Stack frame #12 pc 0000ea25 /system/lib/libstagefright_foundation.so (_ZN7android8AHandler14deliverMessageERKNS_2spINS_8AMessageEEE+24): Routine android::AHandler::deliverMessage(android::sp<android::AMessage> const&) at /proc/self/cwd/frameworks/av/media/libstagefright/foundation/AHandler.cpp:27
Stack frame #13 pc 00010bf5 /system/lib/libstagefright_foundation.so (_ZN7android8AMessage7deliverEv+60): Routine android::AMessage::deliver() at /proc/self/cwd/frameworks/av/media/libstagefright/foundation/AMessage.cpp:354 (discriminator 2)
Stack frame #14 pc 0000f58d /system/lib/libstagefright_foundation.so (_ZN7android7ALooper4loopEv+380): Routine android::ALooper::loop() at /proc/self/cwd/frameworks/av/media/libstagefright/foundation/ALooper.cpp:220 (discriminator 1)
Stack frame #15 pc 0000e3dd /system/lib/libutils.so (_ZN7android6Thread11_threadLoopEPv+264): Routine android::Thread::_threadLoop(void*) at /proc/self/cwd/system/core/libutils/Threads.cpp:754
Stack frame #16 pc 00046e63 /system/lib/libc.so (_ZL15__pthread_startPv+22): Routine __pthread_start(void*) at /proc/self/cwd/bionic/libc/bionic/pthread_create.cpp:198 (discriminator 1)
Stack frame #17 pc 00019cbd /system/lib/libc.so (__start_thread+6): Routine __start_thread at /proc/self/cwd/bionic/libc/bionic/clone.cpp:41 (discriminator 1)
线程是这一个
u0_a65 6165 5421 1363748 164468 futex_wait 00000000 S JNISurfaceTextu
代码路径在frameworks/av/media/libstagefright/
/frameworks/av/media/libstagefright/foundation
allocateBuffersOnPort
if (storingMetadataInDecodedBuffers()) {
err = allocateOutputMetadataBuffers();
} else {
err = allocateOutputBuffersFromNativeWindow();
}
大小从这里设置的。
/frameworks/av/media/libstagefright/ACodec.cpp
return setNativeWindowSizeFormatAndUsage(
nativeWindow,
def.format.video.nFrameWidth,
def.format.video.nFrameHeight,
def.format.video.eColorFormat,
mRotationDegrees,
usage,
reconnect);
参考:https://blog.csdn.net/wan8180192/article/details/50269199
什么时候开始分配内存?
上层入口
AwesomePlayer::initVideoDecoder
这个不用了,使用
Nuplayer
以Nuplayer为入口进行分析:
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayer.h
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayer.cpp
走的是海思的player
妈的 大小是有BufferQueueProducer的mcore决定的。
BufferQueueCore是这个玩意
SurfaceFlinger::createNormalLayer
/frameworks/native/services/surfaceflinger/Client.cpp
Client::createSurface
SurfaceComposerClient::createSurface
/frameworks/base/core/jni/android_view_SurfaceControl.cpp
nativeCreate
/frameworks/base/libs/hwui/OpenGLRenderer.cpp
GraphicBufferListener::init
在下面这里改了尺寸
uint32_t Layer::doTransaction(uint32_t flags) {
ATRACE_CALL();
pushPendingState();
Layer::State c = getCurrentState();
if (!applyPendingStates(&c)) {
return 0;
}
const Layer::State& s(getDrawingState());
const bool sizeChanged = (c.requested.w != s.requested.w) ||
(c.requested.h != s.requested.h);
if (sizeChanged) {
// the size changed, we need to ask our client to request a new buffer
ALOGD_IF(DEBUG_RESIZE,
"doTransaction: geometry (layer=%p '%s'), tr=%02x, scalingMode=%d\n"
" current={ active ={ wh={%4u,%4u} crop={%4d,%4d,%4d,%4d} (%4d,%4d) }\n"
" requested={ wh={%4u,%4u} }}\n"
" drawing={ active ={ wh={%4u,%4u} crop={%4d,%4d,%4d,%4d} (%4d,%4d) }\n"
" requested={ wh={%4u,%4u} }}\n",
this, getName().string(), mCurrentTransform,
getEffectiveScalingMode(),
c.active.w, c.active.h,
c.crop.left,
c.crop.top,
c.crop.right,
c.crop.bottom,
c.crop.getWidth(),
c.crop.getHeight(),
c.requested.w, c.requested.h,
s.active.w, s.active.h,
s.crop.left,
s.crop.top,
s.crop.right,
s.crop.bottom,
s.crop.getWidth(),
s.crop.getHeight(),
s.requested.w, s.requested.h);
// record the new size, form this point on, when the client request
// a buffer, it'll get the new size.
mSurfaceFlingerConsumer->setDefaultBufferSize(
c.requested.w, c.requested.h);
}
他的trace是
Build fingerprint: 'HiSTBAndroidV6/Hi3798MV200/Hi3798MV200:7.0/NRD90M/lwf05300944:userdebug/test-keys'
pid: 1672, tid: 5522, name: Binder:1672_5 >>> /system/bin/surfaceflinger <<<
signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
Stack frame #00 pc 000366c7 /system/lib/libgui.so (_ZN7android19BufferQueueConsumer20setDefaultBufferSizeEjj+98): Routine android::BufferQueueConsumer::setDefaultBufferSize(unsigned int, unsigned int) at /proc/self/cwd/frameworks/native/libs/gui/BufferQueueConsumer.cpp:563
Stack frame #01 pc 0003e147 /system/lib/libgui.so (_ZN7android10GLConsumer20setDefaultBufferSizeEjj+70): Routine android::GLConsumer::setDefaultBufferSize(unsigned int, unsigned int) at /proc/self/cwd/frameworks/native/libs/gui/GLConsumer.cpp:217 (discriminator 1)
Stack frame #02 pc 0001aa87 /system/lib/libsurfaceflinger.so: Routine android::Layer::doTransaction(unsigned int) at /proc/self/cwd/frameworks/native/services/surfaceflinger/Layer.cpp:1415 (discriminator 1)
Stack frame #03 pc 00028bc1 /system/lib/libsurfaceflinger.so: Routine android::SurfaceFlinger::handleTransactionLocked(unsigned int) at /proc/self/cwd/frameworks/native/services/surfaceflinger/SurfaceFlinger_hwc1.cpp:1388 (discriminator 2)
Stack frame #04 pc 00027245 /system/lib/libsurfaceflinger.so: Routine android::SurfaceFlinger::handleTransaction(unsigned int) at /proc/self/cwd/frameworks/native/services/surfaceflinger/SurfaceFlinger_hwc1.cpp:1359
Stack frame #05 pc 00026e3d /system/lib/libsurfaceflinger.so: Routine android::SurfaceFlinger::handleMessageTransaction() at /proc/self/cwd/frameworks/native/services/surfaceflinger/SurfaceFlinger_hwc1.cpp:945
Stack frame #06 pc 00011e49 /system/lib/libutils.so (_ZN7android6Looper9pollInnerEi+492): Routine android::Looper::pollInner(int) at /proc/self/cwd/system/core/libutils/Looper.cpp:337 (discriminator 1)
Stack frame #07 pc 00011bcf /system/lib/libutils.so (_ZN7android6Looper8pollOnceEiPiS1_PPv+26): Routine android::Looper::pollOnce(int, int*, int*, void**) at /proc/self/cwd/system/core/libutils/Looper.cpp:219
Stack frame #08 pc 0001cf85 /system/lib/libsurfaceflinger.so: Routine android::Looper::pollOnce(int) at /proc/self/cwd/system/core/include/utils/Looper.h:265
Stack frame #09 pc 00026a0d /system/lib/libsurfaceflinger.so (_ZN7android14SurfaceFlinger3runEv+10): Routine android::SurfaceFlinger::waitForEvent() at /proc/self/cwd/frameworks/native/services/surfaceflinger/SurfaceFlinger_hwc1.cpp:785
Stack frame #10 pc 0000102b /system/bin/surfaceflinger
Stack frame #11 pc 00016c2d /system/lib/libc.so (__libc_init+48): Routine __libc_init at /proc/self/cwd/bionic/libc/bionic/libc_init_dynamic.cpp:109
Stack frame #12 pc 00000e1c /system/bin/surfaceflinger
这里setsize
Layer::setSize
wms了现在进入
正常时候:
06-04 06:56:33.123 2631 3120 E WindowManager: computeShownFrameLocked: WindowStateAnimator{665d7c5 Toast} mShownPosition.set mWin.mFrame.left = 798 mWin.mFrame.top=864 mWin.mXOffset=0 mWin.mYOffset=0
异常时候:
WindowManager: computeShownFrameLocked: WindowStateAnimator{d8d8c07 Toast} mShownPosition.set mWin.mFrame.left = 0 mWin.mFrame.top=2138536879 mWin.mXOffset=0 mWin.mYOffset=0
06-06 01:41:36.142 2595 2606 V applyDimension: applyDimension value=30.0 unit=1 metrics=1da9c000 DisplayMetrics{density=1.5, width=1920, height=1080, scaledDensity=1.5, xdpi=38.0, ydpi=38.0}
06-06 01:41:36.148 3552 3552 E getMetricsWithSize: outMetrics.density=1.5
06-06 01:41:36.149 3552 3552 I wenfengtou: setDensity2.0
06-06 01:41:36.149 3552 3552 I wenfengtou: setDensity2.0
06-06 01:41:36.152 3552 3552 V applyDimension: applyDimension value=1280.0 unit=1 metrics=278d0000 DisplayMetrics{density=2.0, width=1920, height=1080, scaledDensity=2.0, xdpi=38.0, ydpi=38.0}
修改方案,在relayoutwindow的时候,限制大小:
DisplayMetrics dm = new DisplayMetrics();
dm = mContext.getResources().getDisplayMetrics();
int screenWidth = dm.widthPixels;
int screenHeight = dm.heightPixels;
Slog.e(TAG,"relayoutWindow screenWidth=" + screenWidth + " screenHeight=" + screenHeight);
if (requestedWidth > screenWidth || requestedHeight > screenHeight) {
Slog.e(TAG, win + "relayoutWindow to big!!! return");
return 0;
}
怎样打崩应用
package com.example.myapplication;
import android.content.Context;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.View;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.Toast;
import com.blankj.utilcode.util.Utils;
public class MainActivity extends AppCompatActivity {
Button mbutton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mbutton = (Button) findViewById(R.id.button);
mbutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Toast.makeText("Drawpad没有使能").show();
final DisplayMetrics appDm = Utils.getApp().getResources().getDisplayMetrics();
float zero = 0f;
float haha = 1f;
appDm.density = haha/ zero;
appDm.densityDpi = (int) (160 * appDm.density);
appDm.scaledDensity = appDm.density;
// DisplayMetrics dm2 = new DisplayMetrics();
// wm.getDefaultDisplay().getMetrics(dm2);
Log.i("hackn","dm2.density=" + Utils.getApp().getResources().getDisplayMetrics().density);
Toast.makeText(MainActivity.this,"Drwapad没有使能哈哈哈哈哈哈哈哈",Toast.LENGTH_SHORT).show();
}
});
}
}
Bilibili崩溃问题
view在不断增大

给詹一美打国际电话 没有出现问题。
高负载时,主线程非常卡。
User 66%, System 25%, IOW 0%, IRQ 0%
User 698 + Nice 120 + Sys 316 + Idle 90 + IOW 0 + IRQ 0 + SIRQ 1 = 1225
PID USER PR NI CPU% S #THR VSS RSS PCY Name
15182 u0_a51 16 -4 53% D 100 1518312K 418640K fg tv.danmaku.bili
6085 u0_a51 20 0 28% S 44 1290900K 150796K fg tv.danmaku.bili:ijkservice
1776 shell 20 0 3% S 9 30784K 940K fg /sbin/adbd
21582 shell 20 0 1% S 1 4008K 1788K fg logcat
1575 logd 30 10 1% S 9 18356K 6868K bg /system/bin/logd
小时代 宿舍姐妹花 必然会卡死
widget.Space占了很多个
参考:https://www.cnblogs.com/tangZH/p/10955429.html
https://blog.csdn.net/yxz329130952/article/details/50288145
https://www.codercto.com/a/3992.html
关于弹幕的一个开源介绍
Toast mToast = Toast.makeText(Utils.getApp(),"hahahha",Toast.LENGTH_LONG);
if (Build.VERSION.SDK_INT == Build.VERSION_CODES.N_MR1) {
try {
//noinspection JavaReflectionMemberAccess
Field field = View.class.getDeclaredField("mContext");
field.setAccessible(true);
field.set(mToast.getView(), new ApplicationContextWrapperForApiff());
} catch (Throwable throwable) {
throwable.printStackTrace();
}
}
mToast.show();

搞崩系统的代码
package com.example.myapplication;
import android.content.Context;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.View;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.Toast;
import com.blankj.utilcode.util.Utils;
public class MainActivity extends AppCompatActivity {
Button mbutton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mbutton = (Button) findViewById(R.id.button);
mbutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Toast.makeText("Drawpad没有使能").show();
final DisplayMetrics appDm = Utils.getApp().getResources().getDisplayMetrics();
float zero = 0f;
float haha = 1f;
appDm.density = haha/ zero;
appDm.densityDpi = (int) (160 * appDm.density);
appDm.scaledDensity = appDm.density;
// DisplayMetrics dm2 = new DisplayMetrics();
// wm.getDefaultDisplay().getMetrics(dm2);
Log.i("hackn","dm2.density=" + Utils.getApp().getResources().getDisplayMetrics().density);
Haha hh = new Haha();
Toast.makeText(MainActivity.this,"Drwapad没有使能哈哈哈哈哈哈哈哈",Toast.LENGTH_SHORT).show();
}
});
}
static class Haha {
Woc woc = new Woc();
Haha() {
Log.i("haha", "construct");
}
}
}
06-11 06:09:25.034 4326 4326 I HookMain: new TintTextView count = 1589
06-11 06:09:25.039 4326 4326 I HookMain: new TintTextView count = 1590
06-11 06:09:25.042 4326 4326 I HookMain: new TintTextView count = 1591
06-11 06:09:25.045 4326 4326 I HookMain: new TintTextView count = 1592
06-11 06:09:25.050 4326 4326 I HookMain: new TintTextView count = 1593
没复现问题是的数量
对比下来 这个多了很多

出现了这么多个bitmap
(<Xposed>)
06-11 07:30:01.546 5633 5633 I HookMain: setBackgroundDrawable count = 988
06-11 07:30:01.546 5633 5633 I HookMain: at com.bilibili.magicasakura.widgets.TintImageView.setBackgroundDrawable(<Xposed>)
06-11 07:30:01.550 5633 5633 I HookMain: setBackgroundDrawable count = 989
06-11 07:30:01.550 5633 5633 I HookMain: at com.bilibili.magicasakura.widgets.TintImageView.setBackgroundDrawable(<Xposed>)
06-11 07:30:01.670 5633 5633 I HookMain: setBackgroundDrawable count = 990
06-11 07:30:01.670 5633 5633 I HookMain: at com.bilibili.magicasakura.widgets.TintImageView.setBackgroundDrawable(<Xposed>)
06-11 07:30:01.699 5633 5633 I HookMain: setBackgroundDrawable count = 991
06-11 07:30:01.699 5633 5633 I HookMain: at com.bilibili.magicasakura.widgets.TintImageView.setBackgroundDrawable(<Xposed>)
06-11 07:30:01.781 5633 5633 I HookMain: setBackgroundDrawable count = 992
06-11 07:30:01.781 5633 5633 I HookMain: at com.bilibili.magicasakura.widgets.TintImageView.setBackgroundDrawable(<Xposed>)
06-11 07:30:01.785 5633 5633 I HookMain: setBackgroundDrawable count = 993
06-11 07:30:01.785 5633 5633 I HookMain: at com.bilibili.magicasakura.widgets.TintImageView.setBackgroundDrawable(<Xposed>)
看上去像不断地在加载comments的view
06-11 07:58:08.872 4166 4166 I HookMain: setBackgroundDrawable count = 1043
06-11 07:58:08.872 4166 4166 I HookMain: java.lang.Throwable
06-11 07:58:08.872 4166 4166 I HookMain: at com.wenfengtou.xposedsimpledemo.HookMain$2.beforeHookedMethod(HookMain.java:73)
06-11 07:58:08.872 4166 4166 I HookMain: at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:340)
06-11 07:58:08.872 4166 4166 I HookMain: at com.bilibili.magicasakura.widgets.TintImageView.setBackgroundDrawable(<Xposed>)
06-11 07:58:08.872 4166 4166 I HookMain: at android.view.View.setBackground(View.java:18120)
06-11 07:58:08.872 4166 4166 I HookMain: at com.bilibili.magicasakura.widgets.a.c(BL:160)
06-11 07:58:08.872 4166 4166 I HookMain: at com.bilibili.magicasakura.widgets.a.b(BL:111)
06-11 07:58:08.872 4166 4166 I HookMain: at com.bilibili.magicasakura.widgets.a.a(BL:49)
06-11 07:58:08.872 4166 4166 I HookMain: at com.bilibili.magicasakura.widgets.TintImageView.<init>(BL:40)
06-11 07:58:08.872 4166 4166 I HookMain: at com.bilibili.magicasakura.widgets.TintImageView.<init>(BL:29)
06-11 07:58:08.872 4166 4166 I HookMain: at java.lang.reflect.Constructor.newInstance0(Native Method)
06-11 07:58:08.872 4166 4166 I HookMain: at java.lang.reflect.Constructor.newInstance(Constructor.java:430)
06-11 07:58:08.872 4166 4166 I HookMain: at android.view.LayoutInflater.createView(LayoutInflater.java:645)
06-11 07:58:08.872 4166 4166 I HookMain: at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:787)
06-11 07:58:08.872 4166 4166 I HookMain: at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727)
06-11 07:58:08.872 4166 4166 I HookMain: at android.view.LayoutInflater.rInflate(LayoutInflater.java:858)
06-11 07:58:08.872 4166 4166 I HookMain: at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
06-11 07:58:08.872 4166 4166 I HookMain: at android.view.LayoutInflater.rInflate(LayoutInflater.java:861)
06-11 07:58:08.872 4166 4166 I HookMain: at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
06-11 07:58:08.872 4166 4166 I HookMain: at android.view.LayoutInflater.inflate(LayoutInflater.java:518)
06-11 07:58:08.872 4166 4166 I HookMain: at de.robv.android.xposed.XposedBridge.invokeOriginalMethodNative(Native Method)
06-11 07:58:08.872 4166 4166 I HookMain: at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:360)
06-11 07:58:08.872 4166 4166 I HookMain: at android.view.LayoutInflater.inflate(<Xposed>)
06-11 07:58:08.872 4166 4166 I HookMain: at android.view.LayoutInflater.inflate(LayoutInflater.java:426)
06-11 07:58:08.872 4166 4166 I HookMain: at android.databinding.g.a(BL:126)
06-11 07:58:08.872 4166 4166 I HookMain: at android.databinding.g.a(BL:95)
06-11 07:58:08.872 4166 4166 I HookMain: at b.xn.a(BL:58)
06-11 07:58:08.872 4166 4166 I HookMain: at com.bilibili.app.comm.comment2.comments.view.ac.a(BL:86)
06-11 07:58:08.872 4166 4166 I HookMain: at com.bilibili.app.comm.comment2.comments.view.aa.b(BL:59)
06-11 07:58:08.872 4166 4166 I HookMain: at android.support.v7.widget.RecyclerView$a.c(BL:6794)
06-11 07:58:08.872 4166 4166 I HookMain: at android.support.v7.widget.RecyclerView$Recycler.a(BL:5975)
06-11 07:58:08.872 4166 4166 I HookMain: at android.support.v7.widget.RecyclerView$Recycler.a(BL:5858)
06-11 07:58:08.872 4166 4166 I HookMain: at android.support.v7.widget.RecyclerView$Recycler.c(BL:5854)
06-11 07:58:08.872 4166 4166 I HookMain: at android.support.v7.widget.LinearLayoutManager$c.a(BL:2230)
06-11 07:58:08.872 4166 4166 I HookMain: at android.support.v7.widget.LinearLayoutManager.a(BL:1557)
06-11 07:58:08.872 4166 4166 I HookMain: at android.support.v7.widget.LinearLayoutManager.a(BL:1517)
06-11 07:58:08.872 4166 4166 I HookMain: at android.support.v7.widget.LinearLayoutManager.c(BL:612)
06-11 07:58:08.872 4166 4166 I HookMain: at android.support.v7.widget.RecyclerView.K(BL:3924)
06-11 07:58:08.872 4166 4166 I HookMain: at android.support.v7.widget.RecyclerView.o(BL:3641)
06-11 07:58:08.872 4166 4166 I HookMain: at android.support.v7.widget.RecyclerView.onLayout(BL:4194)
06-11 07:58:08.872 4166 4166 I HookMain: at android.view.View.layout(View.java:17519)
06-11 07:58:08.872 4166 4166 I HookMain: at android.view.ViewGroup.layout(ViewGroup.java:5612)
06-11 07:58:08.872 4166 4166 I HookMain: at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
06-11 07:58:08.872 4166 4166 I HookMain: at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
06-11 07:58:08.872 4166 4166 I HookMain: at android.view.View.layout(View.java:17519)
06-11 07:58:08.872 4166 4166 I HookMain: at android.view.ViewGroup.layout(ViewGroup.java:5612)
06-11 07:58:08.872 4166 4166 I HookMain: at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1079)
06-11 07:58:08.872 4166 4166 I HookMain: at android.view.View.layout(View.java:17519)
06-11 07:58:08.872 4166 4166 I HookMain: at android.view.ViewGroup.layout(ViewGroup.java:5612)
06-11 07:58:08.872 4166 4166 I HookMain: at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
06-11 07:58:08.872 4166 4166 I HookMain: at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
06-11 07:58:08.872 4166 4166 I HookMain: at android.view.View.layout(View.java:17519)
06-11 07:58:08.872 4166 4166 I HookMain: at android.view.ViewGroup.layout(ViewGroup.java:5612)
06-11 07:58:08.872 4166 4166 I HookMain: at android.support.v4.widget.SwipeRefreshLayout.onLayout(BL:625)
06-11 07:58:08.872 4166 4166 I HookMain: at android.view.View.layout(View.java:17519)
06-11 07:58:08.872 4166 4166 I HookMain: at android.view.ViewGroup.layout(ViewGroup.java:5612)
06-11 07:58:08.872 4166 4166 I HookMain: at android.support.v4.view.ViewPager.onLayout(BL:1775)
06-11 07:58:08.872 4166 4166 I HookMain: at android.view.View.layout(View.java:17519)
06-11 07:58:08.872 4166 4166 I HookMain: at android.view.ViewGroup.layout(ViewGroup.java:5612)
06-11 07:58:08.872 4166 4166 I HookMain: at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
06-11 07:58:08.872 4166 4166 I HookMain: at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
06-11 07:58:08.872 4166 4166 I HookMain: at android.view.View.layout(View.java:17519)
06-11 07:58:08.872 4166 4166 I HookMain: at android.view.ViewGroup.layout(ViewGroup.java:5612)
06-11 07:58:08.872 4166 4166 I HookMain: at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1741)
06-11 07:58:08.872 4166 4166 I HookMain: at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585)
06-11 07:58:08.872 4166 4166 I HookMain: at android.widget.LinearLayout.onLayout(LinearLayout.java:1494)
06-11 07:58:08.872 4166 4166 I HookMain: at android.view.View.layout(View.java:17519)
06-11 07:58:08.873 4166 4166 I HookMain: at android.view.ViewGroup.layout(ViewGroup.java:5612)
06-11 07:58:08.873 4166 4166 I HookMain: at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
06-11 07:58:08.873 4166 4166 I HookMain: at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
06-11 07:58:08.873 4166 4166 I HookMain: at android.view.View.layout(View.java:17519)
06-11 07:58:08.873 4166 4166 I HookMain: at android.view.ViewGroup.layout(ViewGroup.java:5612)
06-11 07:58:08.873 4166 4166 I HookMain: at android.support.design.widget.d.layoutChild(BL:142)
06-11 07:58:08.873 4166 4166 I HookMain: at android.support.design.widget.g.onLayoutChild(BL:41)
06-11 07:58:08.873 4166 4166 I HookMain: at android.support.design.widget.AppBarLayout$ScrollingViewBehavior.onLayoutChild(BL:1556)
06-11 07:58:08.873 4166 4166 I HookMain: at tv.danmaku.bili.widget.PinnedBottomScrollingBehavior.onLayoutChild(BL:41)
06-11 07:58:08.873 4166 4166 I HookMain: at android.support.design.widget.CoordinatorLayout.onLayout(BL:888)
06-11 07:58:08.873 4166 4166 I HookMain: at android.view.View.layout(View.java:17519)
06-11 07:58:08.873 4166 4166 I HookMain: at android.view.ViewGroup.layout(ViewGroup.java:5612)
06-11 07:58:08.873 4166 4166 I HookMain: at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
06-11 07:58:08.873 4166 4166 I HookMain: at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
06-11 07:58:08.873 4166 4166 I HookMain: at android.view.View.layout(View.java:17519)
06-11 07:58:08.873 4166 4166 I HookMain: at android.view.ViewGroup.layout(ViewGroup.java:5612)
06-11 07:58:08.873 4166 4166 I HookMain: at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
06-11 07:58:08.873 4166 4166 I HookMain: at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
06-11 07:58:08.873 4166 4166 I HookMain: at android.view.View.layout(View.java:17519)
06-11 07:58:08.873 4166 4166 I HookMain: at android.view.ViewGroup.layout(ViewGroup.java:5612)
06-11 07:58:08.873 4166 4166 I HookMain: at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
06-11 07:58:08.873 4166 4166 I HookMain: at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
06-11 07:58:08.873 4166 4166 I HookMain: at android.view.View.layout(View.java:17519)
06-11 07:58:08.873 4166 4166 I HookMain: at android.view.ViewGroup.layout(ViewGroup.java:5612)
06-11 07:58:08.873 4166 4166 I HookMain: at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1741)
06-11 07:58:08.873 4166 4166 I HookMain: at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585)
06-11 07:58:08.873 4166 4166 I HookMain: at android.widget.LinearLayout.onLayout(LinearLayout.java:1494)
06-11 07:58:08.873 4166 4166 I HookMain: at android.view.View.layout(View.java:17519)
06-11 07:58:08.873 4166 4166 I HookMain: at android.view.ViewGroup.layout(ViewGroup.java:5612)
06-11 07:58:08.873 4166 4166 I HookMain: at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
06-11 07:58:08.873 4166 4166 I HookMain: at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
06-11 07:58:08.873 4166 4166 I HookMain: at com.android.internal.policy.DecorView.onLayout(DecorView.java:724)
06-11 07:58:08.873 4166 4166 I HookMain: at android.view.View.layout(View.java:17519)
06-11 07:58:08.873 4166 4166 I HookMain: at android.view.ViewGroup.layout(ViewGroup.java:5612)
06-11 07:58:08.873 4166 4166 I HookMain: at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2342)
06-11 07:58:08.873 4166 4166 I HookMain: at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2069)
06-11 07:58:08.873 4166 4166 I HookMain: at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1246)
06-11 07:58:08.873 4166 4166 I HookMain: at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6302)
06-11 07:58:08.873 4166 4166 I HookMain: at android.view.Choreographer$CallbackRecord.run(Choreographer.java:871)
06-11 07:58:08.873 4166 4166 I HookMain: at android.view.Choreographer.doCallbacks(Choreographer.java:683)
06-11 07:58:08.873 4166 4166 I HookMain: at android.view.Choreographer.doFrame(Choreographer.java:619)
06-11 07:58:08.873 4166 4166 I HookMain: at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:857)
06-11 07:58:08.873 4166 4166 I HookMain: at android.os.Handler.handleCallback(Handler.java:751)
06-11 07:58:08.873 4166 4166 I HookMain: at android.os.Handler.dispatchMessage(Handler.java:95)
06-11 07:58:08.873 4166 4166 I HookMain: at android.os.Looper.loop(Looper.java:154)
06-11 07:58:08.873 4166 4166 I HookMain: at android.app.ActivityThread.main(ActivityThread.java:6097)
06-11 07:58:08.873 4166 4166 I HookMain: at java.lang.reflect.Method.invoke(Native Method)
06-11 07:58:08.873 4166 4166 I HookMain: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1013)
06-11 07:58:08.873 4166 4166 I HookMain: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:903)
06-11 07:58:08.873 4166 4166 I HookMain: at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:107)
06-11 07:58:08.918 4166 4166 E Xposed : at com.wenfengtou.xposedsimpledemo.HookMain$2.beforeHookedMethod(HookMain.java:75)
bilibili会定时请求一些framecallback,可以忽略掉
06-12 01:11:14.947 4219 5428 I postFrameCallback: postFrameCallback b.hfl7.beforeHookedMethod(HookMain.java:142)
06-12 01:11:14.947 4219 5428 I postFrameCallback: at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:340)
06-12 01:11:14.947 4219 5428 I postFrameCallback: at android.view.Choreographer.postFrameCallback(<Xposed>)
06-12 01:11:14.947 4219 5428 I postFrameCallback: at b.hfl.n(BL:538)
06-12 01:11:14.947 4219 5428 I postFrameCallback: at b.hfl.handleMessage(BL:299)
06-12 01:11:14.947 4219 5428 I postFrameCallback: at android.os.Handler.dispatchMessage(Handler.java:102)
06-12 01:11:14.947 4219 5428 I postFrameCallback: at android.os.Looper.loop(Looper.java:154)
06-12 01:11:14.947 4219 5428 I postFrameCallback: at android.os.HandlerThread.run(HandlerThread.java:61)
出现问题的时候,出现很多viewdatabining的log
06-12 01:23:17.311 13646 13646 I postFrameCallback: postFrameCallback android.databinding.ViewDataBinding$8@ab1a300
06-12 01:23:17.311 13646 13646 I postFrameCallback: java.lang.Throwable
06-12 01:23:17.311 13646 13646 I postFrameCallback: at com.wenfengtou.xposedsimpledemo.HookMain$7.beforeHookedMethod(HookMain.java:142)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:340)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.view.Choreographer.postFrameCallback(<Xposed>)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.databinding.ViewDataBinding.h(BL:549)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at b.aej.e(BL:97)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at b.aej.<init>(BL:88)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at b.aej.<init>(BL:33)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at b.aeb.a(BL:92)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.databinding.i.a(BL:39)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.databinding.g.a(BL:199)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.databinding.g.a(BL:130)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.databinding.g.a(BL:95)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at b.xn.a(BL:58)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at com.bilibili.app.comm.comment2.comments.view.ac.a(BL:86)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at com.bilibili.app.comm.comment2.comments.view.aa.b(BL:59)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.support.v7.widget.RecyclerView$a.c(BL:6794)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.support.v7.widget.RecyclerView$Recycler.a(BL:5975)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.support.v7.widget.RecyclerView$Recycler.a(BL:5858)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.support.v7.widget.RecyclerView$Recycler.c(BL:5854)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.support.v7.widget.LinearLayoutManager$c.a(BL:2230)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.support.v7.widget.LinearLayoutManager.a(BL:1557)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.support.v7.widget.LinearLayoutManager.a(BL:1517)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.support.v7.widget.LinearLayoutManager.c(BL:612)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.support.v7.widget.RecyclerView.K(BL:3924)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.support.v7.widget.RecyclerView.o(BL:3641)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.support.v7.widget.RecyclerView.onLayout(BL:4194)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.view.View.layout(View.java:17519)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.view.ViewGroup.layout(ViewGroup.java:5612)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.view.View.layout(View.java:17519)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.view.ViewGroup.layout(ViewGroup.java:5612)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1079)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.view.View.layout(View.java:17519)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.view.ViewGroup.layout(ViewGroup.java:5612)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.view.View.layout(View.java:17519)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.view.ViewGroup.layout(ViewGroup.java:5612)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.support.v4.widget.SwipeRefreshLayout.onLayout(BL:625)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.view.View.layout(View.java:17519)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.view.ViewGroup.layout(ViewGroup.java:5612)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.support.v4.view.ViewPager.onLayout(BL:1775)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.view.View.layout(View.java:17519)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.view.ViewGroup.layout(ViewGroup.java:5612)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.view.View.layout(View.java:17519)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.view.ViewGroup.layout(ViewGroup.java:5612)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1741)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.widget.LinearLayout.onLayout(LinearLayout.java:1494)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.view.View.layout(View.java:17519)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.view.ViewGroup.layout(ViewGroup.java:5612)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.view.View.layout(View.java:17519)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.view.ViewGroup.layout(ViewGroup.java:5612)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.support.design.widget.d.layoutChild(BL:142)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.support.design.widget.g.onLayoutChild(BL:41)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.support.design.widget.AppBarLayout$ScrollingViewBehavior.onLayoutChild(BL:1556)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at tv.danmaku.bili.widget.PinnedBottomScrollingBehavior.onLayoutChild(BL:41)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.support.design.widget.CoordinatorLayout.onLayout(BL:888)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.view.View.layout(View.java:17519)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.view.ViewGroup.layout(ViewGroup.java:5612)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.view.View.layout(View.java:17519)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.view.ViewGroup.layout(ViewGroup.java:5612)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.view.View.layout(View.java:17519)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.view.ViewGroup.layout(ViewGroup.java:5612)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.view.View.layout(View.java:17519)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.view.ViewGroup.layout(ViewGroup.java:5612)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1741)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.widget.LinearLayout.onLayout(LinearLayout.java:1494)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.view.View.layout(View.java:17519)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.view.ViewGroup.layout(ViewGroup.java:5612)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at com.android.internal.policy.DecorView.onLayout(DecorView.java:724)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.view.View.layout(View.java:17519)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.view.ViewGroup.layout(ViewGroup.java:5612)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2342)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2069)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1246)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6302)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.view.Choreographer$CallbackRecord.run(Choreographer.java:871)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.view.Choreographer.doCallbacks(Choreographer.java:683)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.view.Choreographer.doFrame(Choreographer.java:619)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:857)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.os.Handler.handleCallback(Handler.java:751)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.os.Handler.dispatchMessage(Handler.java:95)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.os.Looper.loop(Looper.java:154)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at android.app.ActivityThread.main(ActivityThread.java:6097)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at java.lang.reflect.Method.invoke(Native Method)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1013)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:903)
06-12 01:23:17.311 13646 13646 I postFrameCallback: at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:107)
06-12 01:23:17.437 13646 13646 I postFrameCallback: postFrameCallback android.databinding.ViewDataBinding$8@6628c4c
06-12 01:23:17.437 13646 13646 I postFrameCallback: java.lang.Throwable
06-12 01:23:17.437 13646 13646 I postFrameCallback: at com.wenfengtou.xposedsimpledemo.HookMain$7.beforeHookedMethod(HookMain.java:142)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:340)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.view.Choreographer.postFrameCallback(<Xposed>)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.databinding.ViewDataBinding.h(BL:549)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at b.aej.e(BL:97)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at b.aej.<init>(BL:88)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at b.aej.<init>(BL:33)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at b.aeb.a(BL:92)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.databinding.i.a(BL:39)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.databinding.g.a(BL:199)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.databinding.g.a(BL:130)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.databinding.g.a(BL:95)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at b.xn.a(BL:58)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at com.bilibili.app.comm.comment2.comments.view.ac.a(BL:86)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at com.bilibili.app.comm.comment2.comments.view.aa.b(BL:59)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.support.v7.widget.RecyclerView$a.c(BL:6794)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.support.v7.widget.RecyclerView$Recycler.a(BL:5975)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.support.v7.widget.RecyclerView$Recycler.a(BL:5858)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.support.v7.widget.RecyclerView$Recycler.c(BL:5854)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.support.v7.widget.LinearLayoutManager$c.a(BL:2230)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.support.v7.widget.LinearLayoutManager.a(BL:1557)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.support.v7.widget.LinearLayoutManager.a(BL:1517)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.support.v7.widget.LinearLayoutManager.c(BL:612)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.support.v7.widget.RecyclerView.K(BL:3924)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.support.v7.widget.RecyclerView.o(BL:3641)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.support.v7.widget.RecyclerView.onLayout(BL:4194)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.view.View.layout(View.java:17519)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.view.ViewGroup.layout(ViewGroup.java:5612)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.view.View.layout(View.java:17519)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.view.ViewGroup.layout(ViewGroup.java:5612)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1079)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.view.View.layout(View.java:17519)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.view.ViewGroup.layout(ViewGroup.java:5612)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.view.View.layout(View.java:17519)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.view.ViewGroup.layout(ViewGroup.java:5612)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.support.v4.widget.SwipeRefreshLayout.onLayout(BL:625)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.view.View.layout(View.java:17519)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.view.ViewGroup.layout(ViewGroup.java:5612)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.support.v4.view.ViewPager.onLayout(BL:1775)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.view.View.layout(View.java:17519)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.view.ViewGroup.layout(ViewGroup.java:5612)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.view.View.layout(View.java:17519)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.view.ViewGroup.layout(ViewGroup.java:5612)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1741)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.widget.LinearLayout.onLayout(LinearLayout.java:1494)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.view.View.layout(View.java:17519)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.view.ViewGroup.layout(ViewGroup.java:5612)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.view.View.layout(View.java:17519)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.view.ViewGroup.layout(ViewGroup.java:5612)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.support.design.widget.d.layoutChild(BL:142)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.support.design.widget.g.onLayoutChild(BL:41)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.support.design.widget.AppBarLayout$ScrollingViewBehavior.onLayoutChild(BL:1556)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at tv.danmaku.bili.widget.PinnedBottomScrollingBehavior.onLayoutChild(BL:41)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.support.design.widget.CoordinatorLayout.onLayout(BL:888)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.view.View.layout(View.java:17519)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.view.ViewGroup.layout(ViewGroup.java:5612)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.view.View.layout(View.java:17519)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.view.ViewGroup.layout(ViewGroup.java:5612)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
06-12 01:23:17.438 13646 13646 I postFrameCallback: at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
06-12 01:23:17.438 13646 13646 I postFrameCallback: at android.view.View.layout(View.java:17519)
06-12 01:23:17.438 13646 13646 I postFrameCallback: at android.view.ViewGroup.layout(ViewGroup.java:5612)
06-12 01:23:17.438 13646 13646 I postFrameCallback: at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
06-12 01:23:17.438 13646 13646 I postFrameCallback: at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
06-12 01:23:17.438 13646 13646 I postFrameCallback: at android.view.View.layout(View.java:17519)
06-12 01:23:17.438 13646 13646 I postFrameCallback: at android.view.ViewGroup.layout(ViewGroup.java:5612)
06-12 01:23:17.438 13646 13646 I postFrameCallback: at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1741)
06-12 01:23:17.438 13646 13646 I postFrameCallback: at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585)
06-12 01:23:17.438 13646 13646 I postFrameCallback: at android.widget.LinearLayout.onLayout(LinearLayout.java:1494)
06-12 01:23:17.438 13646 13646 I postFrameCallback: at android.view.View.layout(View.java:17519)
06-12 01:23:17.438 13646 13646 I postFrameCallback: at android.view.ViewGroup.layout(ViewGroup.java:5612)
06-12 01:23:17.438 13646 13646 I postFrameCallback: at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
06-12 01:23:17.438 13646 13646 I postFrameCallback: at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
06-12 01:23:17.438 13646 13646 I postFrameCallback: at com.android.internal.policy.DecorView.onLayout(DecorView.java:724)
06-12 01:23:17.438 13646 13646 I postFrameCallback: at android.view.View.layout(View.java:17519)
06-12 01:23:17.438 13646 13646 I postFrameCallback: at android.view.ViewGroup.layout(ViewGroup.java:5612)
06-12 01:23:17.438 13646 13646 I postFrameCallback: at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2342)
06-12 01:23:17.438 13646 13646 I postFrameCallback: at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2069)
06-12 01:23:17.438 13646 13646 I postFrameCallback: at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1246)
06-12 01:23:17.438 13646 13646 I postFrameCallback: at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6302)
06-12 01:23:17.438 13646 13646 I postFrameCallback: at android.view.Choreographer$CallbackRecord.run(Choreographer.java:871)
06-12 01:23:17.438 13646 13646 I postFrameCallback: at android.view.Choreographer.doCallbacks(Choreographer.java:683)
06-12 01:23:17.438 13646 13646 I postFrameCallback: at android.view.Choreographer.doFrame(Choreographer.java:619)
06-12 01:23:17.438 13646 13646 I postFrameCallback: at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:857)
06-12 01:23:17.438 13646 13646 I postFrameCallback: at android.os.Handler.handleCallback(Handler.java:751)
06-12 01:23:17.438 13646 13646 I postFrameCallback: at android.os.Handler.dispatchMessage(Handler.java:95)
06-12 01:23:17.438 13646 13646 I postFrameCallback: at android.os.Looper.loop(Looper.java:154)
06-12 01:23:17.438 13646 13646 I postFrameCallback: at android.app.ActivityThread.main(ActivityThread.java:6097)
06-12 01:23:17.438 13646 13646 I postFrameCallback: at java.lang.reflect.Method.invoke(Native Method)
06-12 01:23:17.438 13646 13646 I postFrameCallback: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1013)
06-12 01:23:17.438 13646 13646 I postFrameCallback: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:903)
06-12 01:23:17.438 13646 13646 I postFrameCallback: at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:107)
viewdatabinder就是view的数据变化的时候,更新view的一个机制。说明view的某个数据变了???
卧槽。
看是在 CALLBACK_TRAVERSAL中去遍历了一次视图。
mFrameInfo.markPerformTraversalsStart();
doCallbacks(Choreographer.CALLBACK_TRAVERSAL, frameTimeNanos);
自己手写的应用貌似不太一样,我去。这么弄得
06-12 03:28:20.559 4273 4273 I postFrameCallback: postFrameCallback android.databinding.ViewDataBinding$8@3c1f29d
06-12 03:28:20.559 4273 4273 I postFrameCallback: java.lang.Throwable
06-12 03:28:20.559 4273 4273 I postFrameCallback: at com.wenfengtou.xposedsimpledemo.HookMain$1.beforeHookedMethod(HookMain.java:67)
06-12 03:28:20.559 4273 4273 I postFrameCallback: at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:340)
06-12 03:28:20.559 4273 4273 I postFrameCallback: at android.view.Choreographer.postFrameCallback(<Xposed>)
06-12 03:28:20.559 4273 4273 I postFrameCallback: at android.databinding.ViewDataBinding.requestRebind(ViewDataBinding.java:584)
06-12 03:28:20.559 4273 4273 I postFrameCallback: at android.databinding.ViewDataBinding.handleFieldChange(ViewDataBinding.java:548)
06-12 03:28:20.559 4273 4273 I postFrameCallback: at android.databinding.ViewDataBinding.access$800(ViewDataBinding.java:63)
06-12 03:28:20.559 4273 4273 I postFrameCallback: at android.databinding.ViewDataBinding$WeakPropertyListener.onPropertyChanged(ViewDataBinding.java:1465)
06-12 03:28:20.559 4273 4273 I postFrameCallback: at android.databinding.PropertyChangeRegistry$1.onNotifyCallback(PropertyChangeRegistry.java:30)
06-12 03:28:20.559 4273 4273 I postFrameCallback: at android.databinding.PropertyChangeRegistry$1.onNotifyCallback(PropertyChangeRegistry.java:26)
06-12 03:28:20.559 4273 4273 I postFrameCallback: at android.databinding.CallbackRegistry.notifyCallbacks(CallbackRegistry.java:201)
06-12 03:28:20.559 4273 4273 I postFrameCallback: at android.databinding.CallbackRegistry.notifyFirst64(CallbackRegistry.java:122)
06-12 03:28:20.559 4273 4273 I postFrameCallback: at android.databinding.CallbackRegistry.notifyRemainder(CallbackRegistry.java:169)
06-12 03:28:20.559 4273 4273 I postFrameCallback: at android.databinding.CallbackRegistry.notifyRecurse(CallbackRegistry.java:145)
06-12 03:28:20.559 4273 4273 I postFrameCallback: at android.databinding.CallbackRegistry.notifyCallbacks(CallbackRegistry.java:91)
06-12 03:28:20.559 4273 4273 I postFrameCallback: at android.databinding.BaseObservable.notifyChange(BaseObservable.java:60)
06-12 03:28:20.559 4273 4273 I postFrameCallback: at com.example.myapplication.Woc.setOut(Woc.java:12)
06-12 03:28:20.559 4273 4273 I postFrameCallback: at com.example.myapplication.MainActivity$2.handleMessage(MainActivity.java:59)
bilibili的这个方法是入口
.method public a(Lb/aei;Lb/za;)V
.locals 2
.line 33
iget-object v0, p1, Lb/aei;->x:Ltv/danmaku/bili/widget/ForegroundConstraintLayout;
const/16 v1, 0x8
invoke-virtual {v0, v1}, Ltv/danmaku/bili/widget/ForegroundConstraintLayout;->setVisibility(I)V
.line 34
iget-object v0, p1, Lb/aei;->v:Lcom/bilibili/magicasakura/widgets/TintTextView;
invoke-virtual {v0, v1}, Lcom/bilibili/magicasakura/widgets/TintTextView;->setVisibility(I)V
.line 35
iget-object v0, p1, Lb/aei;->g:Lcom/bilibili/magicasakura/widgets/TintTextView;
invoke-virtual {v0, v1}, Lcom/bilibili/magicasakura/widgets/TintTextView;->setVisibility(I)V
.line 36
iget-object v0, p1, Lb/aei;->m:Landroid/widget/TextView;
invoke-virtual {v0, v1}, Landroid/widget/TextView;->setVisibility(I)V
.line 37
iget-object v0, p1, Lb/aei;->l:Landroid/widget/TextView;
invoke-virtual {v0, v1}, Landroid/widget/TextView;->setVisibility(I)V
.line 38
iget-object v0, p2, Lb/za;->x:Lcom/bilibili/app/comm/comment2/basemvvm/observable/LazyObservableBoolean;
invoke-virtual {v0}, Lcom/bilibili/app/comm/comment2/basemvvm/observable/LazyObservableBoolean;->getValue()Z
move-result v0
if-nez v0, :cond_0
iget-object v0, p2, Lb/za;->y:Lcom/bilibili/app/comm/comment2/basemvvm/observable/LazyObservableBoolean;
invoke-virtual {v0}, Lcom/bilibili/app/comm/comment2/basemvvm/observable/LazyObservableBoolean;->getValue()Z
move-result v0
if-eqz v0, :cond_1
.line 39
:cond_0
invoke-virtual {p2}, Lb/za;->a()Lcom/bilibili/app/comm/comment2/comments/viewmodel/y;
move-result-object v0
invoke-virtual {v0}, Lcom/bilibili/app/comm/comment2/comments/viewmodel/y;->d()Lcom/bilibili/app/comm/comment2/CommentContext;
move-result-object v0
.line 40
invoke-virtual {v0}, Lcom/bilibili/app/comm/comment2/CommentContext;->a()Lb/abi;
move-result-object v1
if-eqz v1, :cond_1
.line 41
invoke-virtual {v0}, Lcom/bilibili/app/comm/comment2/CommentContext;->a()Lb/abi;
move-result-object v0
iget-object v1, p2, Lb/za;->z:Lcom/bilibili/app/comm/comment2/basemvvm/observable/LazyObservableField;
invoke-virtual {v1}, Lcom/bilibili/app/comm/comment2/basemvvm/observable/LazyObservableField;->getValue()Ljava/lang/Object;
move-result-object v1
invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Lb/abi;->a(Ljava/lang/String;)V
.line 44
:cond_1
invoke-virtual {p2}, Lb/za;->a()Lcom/bilibili/app/comm/comment2/comments/viewmodel/y;
move-result-object v0
invoke-virtual {p1, v0}, Lb/aei;->a(Lcom/bilibili/app/comm/comment2/comments/viewmodel/y;)V
.line 45
invoke-virtual {p1, p2}, Lb/aei;->a(Lb/za;)V
.line 46
iget-object v0, p0, Lb/xn;->q:Lb/xq;
iget-object v1, p1, Lb/aei;->k:Landroid/databinding/o;
invoke-virtual {v0, v1, p2}, Lb/xq;->a(Landroid/databinding/o;Lb/za;)V
.line 47
invoke-virtual {p1}, Lb/aei;->b()V
return-void
.end method
06-12 01:23:17.437 13646 13646 I postFrameCallback: at b.xn.a(BL:58) 这个方法没有进去的。
06-12 01:23:17.437 13646 13646 I postFrameCallback: at com.bilibili.app.comm.comment2.comments.view.ac.a(BL:86)
06-12 01:23:17.437 13646 13646 I postFrameCallback: at com.bilibili.app.comm.comment2.comments.view.aa.b(BL:59) 这个方法也没有进去。得找到进去得点
出问题时mLayoutRequested为true!!!!
06-12 15:06:16.493 4037 4037 I performTraversals: mView =DecorView@a8b0240[VideoDetailsActivity] mAdded=true mStopped=false mReportNextDraw=false mLayoutRequested=true
正常播放是这样子得
performTraversals: mView =DecorView@6e22548[VideoDetailsActivity] mAdded=true mStopped=false mReportNextDraw=false mLayoutRequested=false
会有请求刷新界面得操作
06-12 15:19:42.620 4568 4568 I requestLayout: requestLayout
06-12 15:19:42.620 4568 4568 I requestLayout: java.lang.Throwable
06-12 15:19:42.620 4568 4568 I requestLayout: at com.wenfengtou.xposedsimpledemo.HookMain$1.beforeHookedMethod(HookMain.java:69)
06-12 15:19:42.620 4568 4568 I requestLayout: at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:340)
06-12 15:19:42.620 4568 4568 I requestLayout: at android.view.ViewRootImpl.requestLayout(<Xposed>)
06-12 15:19:42.620 4568 4568 I requestLayout: at android.view.View.requestLayout(View.java:19654)
06-12 15:19:42.620 4568 4568 I requestLayout: at android.view.View.requestLayout(View.java:19654)
06-12 15:19:42.620 4568 4568 I requestLayout: at android.view.View.requestLayout(View.java:19654)
06-12 15:19:42.620 4568 4568 I requestLayout: at android.view.View.requestLayout(View.java:19654)
06-12 15:19:42.620 4568 4568 I requestLayout: at android.view.View.requestLayout(View.java:19654)
06-12 15:19:42.620 4568 4568 I requestLayout: at android.view.View.requestLayout(View.java:19654)
06-12 15:19:42.620 4568 4568 I requestLayout: at android.view.View.requestLayout(View.java:19654)
06-12 15:19:42.620 4568 4568 I requestLayout: at android.view.View.requestLayout(View.java:19654)
06-12 15:19:42.620 4568 4568 I requestLayout: at android.view.View.requestLayout(View.java:19654)
06-12 15:19:42.620 4568 4568 I requestLayout: at android.view.View.requestLayout(View.java:19654)
06-12 15:19:42.620 4568 4568 I requestLayout: at android.view.View.requestLayout(View.java:19654)
06-12 15:19:42.620 4568 4568 I requestLayout: at android.view.View.requestLayout(View.java:19654)
06-12 15:19:42.620 4568 4568 I requestLayout: at android.view.View.requestLayout(View.java:19654)
06-12 15:19:42.620 4568 4568 I requestLayout: at android.widget.RelativeLayout.requestLayout(RelativeLayout.java:360)
06-12 15:19:42.620 4568 4568 I requestLayout: at android.view.View.requestLayout(View.java:19654)
06-12 15:19:42.620 4568 4568 I requestLayout: at android.view.View.requestLayout(View.java:19654)
06-12 15:19:42.620 4568 4568 I requestLayout: at android.support.v7.widget.RecyclerView.requestLayout(BL:4202)
06-12 15:19:42.620 4568 4568 I requestLayout: at android.support.v7.widget.RecyclerView$p.b(BL:5327)
06-12 15:19:42.620 4568 4568 I requestLayout: at android.support.v7.widget.RecyclerView$p.a(BL:5294)
06-12 15:19:42.620 4568 4568 I requestLayout: at android.support.v7.widget.RecyclerView$b.a(BL:12012)
06-12 15:19:42.620 4568 4568 I requestLayout: at android.support.v7.widget.RecyclerView$a.a(BL:7114)
06-12 15:19:42.620 4568 4568 I requestLayout: at com.bilibili.app.comm.comment2.comments.view.aa$1.d(BL:37)
06-12 15:19:42.620 4568 4568 I requestLayout: at com.bilibili.app.comm.comment2.comments.view.ab.run(Unknown Source)
06-12 15:19:42.620 4568 4568 I requestLayout: at android.os.Handler.handleCallback(Handler.java:751)
06-12 15:19:42.620 4568 4568 I requestLayout: at android.os.Handler.dispatchMessage(Handler.java:95)
06-12 15:19:42.620 4568 4568 I requestLayout: at android.os.Looper.loop(Looper.java:154)
06-12 15:19:42.620 4568 4568 I requestLayout: at android.app.ActivityThread.main(ActivityThread.java:6097)
06-12 15:19:42.620 4568 4568 I requestLayout: at java.lang.reflect.Method.invoke(Native Method)
06-12 15:19:42.620 4568 4568 I requestLayout: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1013)
06-12 15:19:42.620 4568 4568 I requestLayout: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:903)
06-12 15:19:42.620 4568 4568 I requestLayout: at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:107)
md,是不是跟视频格式有关系?flv么有问题,mp4有问题???

Bilibli总会有这一句
06-12 15:33:24.021 14486 14486 I requestLayout: requestLayout
06-12 15:33:24.021 14486 14486 I requestLayout: java.lang.Throwable
06-12 15:33:24.021 14486 14486 I requestLayout: at com.wenfengtou.xposedsimpledemo.HookMain$1.beforeHookedMethod(HookMain.java:69)
06-12 15:33:24.021 14486 14486 I requestLayout: at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:340)
06-12 15:33:24.021 14486 14486 I requestLayout: at android.view.ViewRootImpl.requestLayout(<Xposed>)
06-12 15:33:24.021 14486 14486 I requestLayout: at android.view.View.requestLayout(View.java:19654)
06-12 15:33:24.021 14486 14486 I requestLayout: at android.view.View.requestLayout(View.java:19654)
06-12 15:33:24.021 14486 14486 I requestLayout: at android.view.View.requestLayout(View.java:19654)
06-12 15:33:24.021 14486 14486 I requestLayout: at android.view.View.requestLayout(View.java:19654)
06-12 15:33:24.021 14486 14486 I requestLayout: at android.view.View.requestLayout(View.java:19654)
06-12 15:33:24.021 14486 14486 I requestLayout: at android.view.View.requestLayout(View.java:19654)
06-12 15:33:24.021 14486 14486 I requestLayout: at android.view.View.requestLayout(View.java:19654)
06-12 15:33:24.021 14486 14486 I requestLayout: at android.view.View.requestLayout(View.java:19654)
06-12 15:33:24.021 14486 14486 I requestLayout: at android.view.View.requestLayout(View.java:19654)
06-12 15:33:24.021 14486 14486 I requestLayout: at android.view.View.requestLayout(View.java:19654)
06-12 15:33:24.021 14486 14486 I requestLayout: at android.view.View.requestLayout(View.java:19654)
06-12 15:33:24.021 14486 14486 I requestLayout: at android.view.View.requestLayout(View.java:19654)
06-12 15:33:24.021 14486 14486 I requestLayout: at android.view.View.requestLayout(View.java:19654)
06-12 15:33:24.021 14486 14486 I requestLayout: at android.widget.RelativeLayout.requestLayout(RelativeLayout.java:360)
06-12 15:33:24.021 14486 14486 I requestLayout: at android.view.View.requestLayout(View.java:19654)
06-12 15:33:24.021 14486 14486 I requestLayout: at android.view.View.requestLayout(View.java:19654)
06-12 15:33:24.021 14486 14486 I requestLayout: at android.support.v7.widget.RecyclerView.requestLayout(BL:4202)
06-12 15:33:24.021 14486 14486 I requestLayout: at android.support.v7.widget.RecyclerView$p.b(BL:5327)
06-12 15:33:24.021 14486 14486 I requestLayout: at android.support.v7.widget.RecyclerView$p.b(BL:5302)
06-12 15:33:24.021 14486 14486 I requestLayout: at android.support.v7.widget.RecyclerView$b.b(BL:12022)
06-12 15:33:24.021 14486 14486 I requestLayout: at android.support.v7.widget.RecyclerView$a.c(BL:7214)
06-12 15:33:24.021 14486 14486 I requestLayout: at com.bilibili.app.comm.comment2.comments.view.aa$1.a(BL:27)
06-12 15:33:24.021 14486 14486 I requestLayout: at b.aac$1.a(BL:59)
06-12 15:33:24.021 14486 14486 I requestLayout: at b.wt.a(BL:19)
06-12 15:33:24.021 14486 14486 I requestLayout: at b.wu$1.a(BL:26)
06-12 15:33:24.021 14486 14486 I requestLayout: at b.wr.a(BL:36)
06-12 15:33:24.021 14486 14486 I requestLayout: at b.ws$1.b(BL:52)
06-12 15:33:24.021 14486 14486 I requestLayout: at android.databinding.h$1.a(BL:48)
06-12 15:33:24.021 14486 14486 I requestLayout: at android.databinding.h$1.a(BL:39)
06-12 15:33:24.021 14486 14486 I requestLayout: at android.databinding.c.a(BL:201)
06-12 15:33:24.021 14486 14486 I requestLayout: at android.databinding.c.b(BL:122)
06-12 15:33:24.021 14486 14486 I requestLayout: at android.databinding.c.a(BL:169)
06-12 15:33:24.021 14486 14486 I requestLayout: at android.databinding.c.c(BL:145)
06-12 15:33:24.021 14486 14486 I requestLayout: at android.databinding.c.a(BL:91)
06-12 15:33:24.021 14486 14486 I requestLayout: at android.databinding.h.a(BL:136)
06-12 15:33:24.021 14486 14486 I requestLayout: at android.databinding.h.b(BL:94)
06-12 15:33:24.021 14486 14486 I requestLayout: at android.databinding.ObservableArrayList.notifyAdd(BL:118)
06-12 15:33:24.021 14486 14486 I requestLayout: at android.databinding.ObservableArrayList.addAll(BL:60)
06-12 15:33:24.021 14486 14486 I requestLayout: at com.bilibili.app.comm.comment2.comments.viewmodel.bf$1.a(BL:227)
06-12 15:33:24.021 14486 14486 I requestLayout: at com.bilibili.app.comm.comment2.comments.viewmodel.bf$1.a(BL:169)
06-12 15:33:24.021 14486 14486 I requestLayout: at com.bilibili.okretro.b.a(BL:50)
06-12 15:33:24.021 14486 14486 I requestLayout: at b.evp$3.run(BL:216)
06-12 15:33:24.021 14486 14486 I requestLayout: at android.os.Handler.handleCallback(Handler.java:751)
06-12 15:33:24.021 14486 14486 I requestLayout: at android.os.Handler.dispatchMessage(Handler.java:95)
06-12 15:33:24.021 14486 14486 I requestLayout: at android.os.Looper.loop(Looper.java:154)
06-12 15:33:24.021 14486 14486 I requestLayout: at android.app.ActivityThread.main(ActivityThread.java:6097)
06-12 15:33:24.021 14486 14486 I requestLayout: at java.lang.reflect.Method.invoke(Native Method)
06-12 15:33:24.021 14486 14486 I requestLayout: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1013)
06-12 15:33:24.021 14486 14486 I requestLayout: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:903)
06-12 15:33:24.021 14486 14486 I requestLayout: at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:107)
我靠,貌似是评论区,因为一刷新就出来了。

滑动监听
06-12 15:11:28.700 2474 2474 I addOnScrollListener: addOnScrollListener
06-12 15:11:28.700 2474 2474 I addOnScrollListener: java.lang.Throwable
06-12 15:11:28.700 2474 2474 I addOnScrollListener: at com.wenfengtou.xposedsimpledemo.HookMain$1.afterHookedMethod(HookMain.java:28)
06-12 15:11:28.700 2474 2474 I addOnScrollListener: at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:374)
06-12 15:11:28.700 2474 2474 I addOnScrollListener: at android.support.v7.widget.RecyclerView.addOnScrollListener(<Xposed>)
06-12 15:11:28.700 2474 2474 I addOnScrollListener: at com.bilibili.app.comm.comment2.comments.view.y.a(BL:240)
06-12 15:11:28.700 2474 2474 I addOnScrollListener: at b.wy.onViewCreated(BL:49)
06-12 15:11:28.700 2474 2474 I addOnScrollListener: at android.support.v4.app.FragmentManagerImpl.moveToState(BL:1471)
06-12 15:11:28.700 2474 2474 I addOnScrollListener: at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(BL:1784)
06-12 15:11:28.700 2474 2474 I addOnScrollListener: at android.support.v4.app.FragmentManagerImpl.moveToState(BL:1852)
06-12 15:11:28.700 2474 2474 I addOnScrollListener: at android.support.v4.app.d.b(BL:802)
06-12 15:11:28.700 2474 2474 I addOnScrollListener: at android.support.v4.app.FragmentManagerImpl.executeOps(BL:2625)
06-12 15:11:28.700 2474 2474 I addOnScrollListener: at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(BL:2411)
06-12 15:11:28.700 2474 2474 I addOnScrollListener: at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(BL:2366)
06-12 15:11:28.700 2474 2474 I addOnScrollListener: at android.support.v4.app.FragmentManagerImpl.execSingleAction(BL:2243)
06-12 15:11:28.700 2474 2474 I addOnScrollListener: at android.support.v4.app.d.commitNowAllowingStateLoss(BL:654)
06-12 15:11:28.700 2474 2474 I addOnScrollListener: at android.support.v4.app.FragmentPagerAdapter.finishUpdate(BL:146)
06-12 15:11:28.700 2474 2474 I addOnScrollListener: at android.support.v4.view.ViewPager.a(BL:1244)
06-12 15:11:28.700 2474 2474 I addOnScrollListener: at android.support.v4.view.ViewPager.c(BL:1092)
06-12 15:11:28.700 2474 2474 I addOnScrollListener: at android.support.v4.view.ViewPager.setAdapter(BL:540)
06-12 15:11:28.700 2474 2474 I addOnScrollListener: at tv.danmaku.bili.ui.video.VideoDetailsActivity.a(BL:1218)
06-12 15:11:28.700 2474 2474 I addOnScrollListener: at tv.danmaku.bili.ui.video.VideoDetailsActivity.a(BL:1317)
06-12 15:11:28.700 2474 2474 I addOnScrollListener: at tv.danmaku.bili.ui.video.VideoDetailsActivity.ad(BL:852)
06-12 15:11:28.700 2474 2474 I addOnScrollListener: at tv.danmaku.bili.ui.video.VideoDetailsActivity.s(BL:216)
06-12 15:11:28.700 2474 2474 I addOnScrollListener: at tv.danmaku.bili.ui.video.VideoDetailsActivity$13.a(BL:1307)
06-12 15:11:28.700 2474 2474 I addOnScrollListener: at tv.danmaku.bili.ui.video.VideoDetailsActivity$13.a(BL:1283)
06-12 15:11:28.700 2474 2474 I addOnScrollListener: at com.bilibili.okretro.b.a(BL:50)
06-12 15:11:28.700 2474 2474 I addOnScrollListener: at b.evp$3.run(BL:216)
06-12 15:11:28.700 2474 2474 I addOnScrollListener: at de.robv.android.xposed.XposedBridge.invokeOriginalMethodNative(Native Method)
06-12 15:11:28.700 2474 2474 I addOnScrollListener: at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:360)
06-12 15:11:28.700 2474 2474 I addOnScrollListener: at b.evp$3.run(<Xposed>)
06-12 15:11:28.700 2474 2474 I addOnScrollListener: at android.os.Handler.handleCallback(Handler.java:751)
06-12 15:11:28.700 2474 2474 I addOnScrollListener: at android.os.Handler.dispatchMessage(Handler.java:95)
06-12 15:11:28.700 2474 2474 I addOnScrollListener: at android.os.Looper.loop(Looper.java:154)
06-12 15:11:28.700 2474 2474 I addOnScrollListener: at android.app.ActivityThread.main(ActivityThread.java:6121)
06-12 15:11:28.700 2474 2474 I addOnScrollListener: at java.lang.reflect.Method.invoke(Native Method)
06-12 15:11:28.700 2474 2474 I addOnScrollListener: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
06-12 15:11:28.700 2474 2474 I addOnScrollListener: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)
06-12 15:11:28.700 2474 2474 I addOnScrollListener: at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:107)
下拉评论的log
06-12 16:20:29.669 3101 3101 I setImageDrawable: setImageDrawableandroid.graphics.drawable.BitmapDrawable@4d81131
06-12 16:20:29.669 3101 3101 I setImageDrawable: java.lang.Throwable
06-12 16:20:29.669 3101 3101 I setImageDrawable: at com.wenfengtou.xposedsimpledemo.HookMain$1.afterHookedMethod(HookMain.java:28)
06-12 16:20:29.669 3101 3101 I setImageDrawable: at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:374)
06-12 16:20:29.669 3101 3101 I setImageDrawable: at com.bilibili.magicasakura.widgets.TintImageView.setImageDrawable(<Xposed>)
06-12 16:20:29.669 3101 3101 I setImageDrawable: at com.bilibili.magicasakura.widgets.f.a(BL:107)
06-12 16:20:29.669 3101 3101 I setImageDrawable: at com.bilibili.magicasakura.widgets.f.d(BL:145)
06-12 16:20:29.669 3101 3101 I setImageDrawable: at com.bilibili.magicasakura.widgets.f.b(BL:118)
06-12 16:20:29.669 3101 3101 I setImageDrawable: at com.bilibili.magicasakura.widgets.f.a(BL:50)
06-12 16:20:29.669 3101 3101 I setImageDrawable: at com.bilibili.magicasakura.widgets.TintImageView.<init>(BL:43)
06-12 16:20:29.669 3101 3101 I setImageDrawable: at com.bilibili.magicasakura.widgets.TintImageView.<init>(BL:29)
06-12 16:20:29.669 3101 3101 I setImageDrawable: at java.lang.reflect.Constructor.newInstance0(Native Method)
06-12 16:20:29.669 3101 3101 I setImageDrawable: at java.lang.reflect.Constructor.newInstance(Constructor.java:430)
06-12 16:20:29.669 3101 3101 I setImageDrawable: at android.view.LayoutInflater.createView(LayoutInflater.java:645)
06-12 16:20:29.669 3101 3101 I setImageDrawable: at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:787)
06-12 16:20:29.669 3101 3101 I setImageDrawable: at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727)
06-12 16:20:29.669 3101 3101 I setImageDrawable: at android.view.LayoutInflater.rInflate(LayoutInflater.java:858)
06-12 16:20:29.669 3101 3101 I setImageDrawable: at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
06-12 16:20:29.669 3101 3101 I setImageDrawable: at android.view.LayoutInflater.rInflate(LayoutInflater.java:861)
06-12 16:20:29.669 3101 3101 I setImageDrawable: at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
06-12 16:20:29.669 3101 3101 I setImageDrawable: at android.view.LayoutInflater.inflate(LayoutInflater.java:518)
06-12 16:20:29.669 3101 3101 I setImageDrawable: at de.robv.android.xposed.XposedBridge.invokeOriginalMethodNative(Native Method)
06-12 16:20:29.669 3101 3101 I setImageDrawable: at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:360)
06-12 16:20:29.669 3101 3101 I setImageDrawable: at android.view.LayoutInflater.inflate(<Xposed>)
06-12 16:20:29.669 3101 3101 I setImageDrawable: at android.view.LayoutInflater.inflate(LayoutInflater.java:426)
06-12 16:20:29.669 3101 3101 I setImageDrawable: at android.databinding.g.a(BL:126)
06-12 16:20:29.669 3101 3101 I setImageDrawable: at android.databinding.g.a(BL:95)
06-12 16:20:29.669 3101 3101 I setImageDrawable: at b.xo.b(BL:61)
06-12 16:20:29.669 3101 3101 I setImageDrawable: at com.bilibili.app.comm.comment2.comments.view.ac.a(BL:84)
06-12 16:20:29.669 3101 3101 I setImageDrawable: at com.bilibili.app.comm.comment2.comments.view.aa.b(BL:59)
06-12 16:20:29.669 3101 3101 I setImageDrawable: at android.support.v7.widget.RecyclerView$a.c(BL:6794)
06-12 16:20:29.669 3101 3101 I setImageDrawable: at android.support.v7.widget.RecyclerView$Recycler.a(BL:5975)
06-12 16:20:29.669 3101 3101 I setImageDrawable: at android.support.v7.widget.ak.a(BL:286)
06-12 16:20:29.669 3101 3101 I setImageDrawable: at android.support.v7.widget.ak.a(BL:343)
06-12 16:20:29.669 3101 3101 I setImageDrawable: at android.support.v7.widget.ak.b(BL:359)
06-12 16:20:29.669 3101 3101 I setImageDrawable: at android.support.v7.widget.ak.a(BL:366)
06-12 16:20:29.669 3101 3101 I setImageDrawable: at android.support.v7.widget.ak.run(BL:397)
06-12 16:20:29.669 3101 3101 I setImageDrawable: at android.os.Handler.handleCallback(Handler.java:751)
06-12 16:20:29.669 3101 3101 I setImageDrawable: at android.os.Handler.dispatchMessage(Handler.java:95)
06-12 16:20:29.669 3101 3101 I setImageDrawable: at android.os.Looper.loop(Looper.java:154)
06-12 16:20:29.669 3101 3101 I setImageDrawable: at android.app.ActivityThread.main(ActivityThread.java:6121)
06-12 16:20:29.669 3101 3101 I setImageDrawable: at java.lang.reflect.Method.invoke(Native Method)
06-12 16:20:29.669 3101 3101 I setImageDrawable: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
06-12 16:20:29.669 3101 3101 I setImageDrawable: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)
06-12 16:20:29.669 3101 3101 I setImageDrawable: at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:107)
下拉时候申请刷新
06-12 16:22:47.960 3101 3101 I requestLayout: requestLayout
06-12 16:22:47.960 3101 3101 I requestLayout: java.lang.Throwable
06-12 16:22:47.960 3101 3101 I requestLayout: at com.wenfengtou.xposedsimpledemo.HookMain$7.afterHookedMethod(HookMain.java:82)
06-12 16:22:47.960 3101 3101 I requestLayout: at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:374)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.ViewRootImpl.requestLayout(<Xposed>)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.View.requestLayout(View.java:19781)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.View.requestLayout(View.java:19781)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.View.requestLayout(View.java:19781)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.View.requestLayout(View.java:19781)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.View.requestLayout(View.java:19781)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.View.requestLayout(View.java:19781)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.View.requestLayout(View.java:19781)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.View.requestLayout(View.java:19781)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.View.requestLayout(View.java:19781)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.View.requestLayout(View.java:19781)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.View.requestLayout(View.java:19781)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.ViewGroup.bringChildToFront(ViewGroup.java:1349)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.View.bringToFront(View.java:11614)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.support.v4.widget.SwipeRefreshLayout.setTargetOffsetTopAndBottom(BL:1169)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.support.v4.widget.SwipeRefreshLayout.onInterceptTouchEvent(BL:709)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2175)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2264)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2264)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2264)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2264)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2264)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2264)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2264)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2264)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2264)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2264)
06-12 16:22:47.960 3101 3101 I requestLayout: at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:414)
06-12 16:22:47.960 3101 3101 I requestLayout: at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1808)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.app.Activity.dispatchTouchEvent(Activity.java:3064)
06-12 16:22:47.960 3101 3101 I requestLayout: at b.ei.dispatchTouchEvent(BL:69)
06-12 16:22:47.960 3101 3101 I requestLayout: at b.ei.dispatchTouchEvent(BL:69)
06-12 16:22:47.960 3101 3101 I requestLayout: at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:376)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.View.dispatchPointerEvent(View.java:10243)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4438)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4306)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3853)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3906)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3872)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3999)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3880)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4056)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3853)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3906)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3872)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3880)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3853)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:6247)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:6221)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:6182)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:6350)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.os.MessageQueue.nativePollOnce(Native Method)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.os.MessageQueue.next(MessageQueue.java:323)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.os.Looper.loop(Looper.java:136)
06-12 16:22:47.960 3101 3101 I requestLayout: at android.app.ActivityThread.main(ActivityThread.java:6121)
06-12 16:22:47.960 3101 3101 I requestLayout: at java.lang.reflect.Method.invoke(Native Method)
06-12 16:22:47.960 3101 3101 I requestLayout: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
06-12 16:22:47.960 3101 3101 I requestLayout: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)
06-12 16:22:47.960 3101 3101 I requestLayout: at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:107)
晚上调试的代码
看上去每跳一帧就会重新加载评论。
hook住评论后,播放就流畅了。
是什么layer的长宽有问题??
貌似是动画还有preload的界面。
06-19 11:07:25.249 1651 1651 I hwc : HISI_HWC gpu compose for layer cropHeight =-1,cropWidth =-1
06-19 11:07:25.249 1651 1651 I hwc : HISI_HWC gpu compose for layer cropHeight =-1,cropWidth =-1
06-19 11:07:25.265 1651 1651 I SurfaceFlinger: SurfaceFlinger start setPerFrameData= 1
06-19 11:07:25.265 1651 1651 I SurfaceFlinger: SurfaceFlinger setPerFrameData= animation background stackId=1
06-19 11:07:25.265 1651 1651 I SurfaceFlinger: SurfaceFlinger setPerFrameData= com.qljy.middlescreen/com.qljy.middlescreen.ui.activity.PrepareLoadActivity
06-19 11:07:25.265 1651 1651 I SurfaceFlinger: SurfaceFlinger setPerFrameData end
06-19 11:07:25.265 1651 1651 I hwc : HISI_HWC gpu compose for layer cropHeight =-1,cropWidth =-1
06-19 11:07:25.265 1651 1651 I hwc : HISI_HWC gpu compose for layer cropHeight =-1,cropWidth =-1
看正常使用的应用,一般会有startingwindow
06-19 11:33:19.926 1655 1655 I SurfaceFlinger: SurfaceFlinger setPerFrameData= com.wenfengtou.xposedsimpledemo/com.wenfengtou.xposedsimpledemo.MainActivity crop=( 0, 0,1920,1080)
06-19 11:33:19.926 1655 1655 I SurfaceFlinger: SurfaceFlinger setPerFrameData= Starting com.wenfengtou.xposedsimpledemo crop=( 0, 0,1920,1080)
06-19 11:33:19.926 1655 1655 I SurfaceFlinger: SurfaceFlinger setPerFrameData end
06-19 11:33:19.926 1655 1655 I hwc : HISI_HWC gpu compose for layer cropHeight =1080,cropWidth =1920
06-19 11:33:19.926 1655 1655 I hwc : HISI_HWC gpu compose for layer cropHeight =1080,cropWidth =1920
网友评论