susionsuc / rabbit-client Goto Github PK
View Code? Open in Web Editor NEW🐰 a simple and easy to use android apm framework (tools)
License: MIT License
🐰 a simple and easy to use android apm framework (tools)
License: MIT License
com.android.build.gradle.internal.pipeline.TransformTask$2$1 cannot be cast to org.gradle.api.internal.AbstractTask
该依赖库已废弃
下载demo源码可以看到目前已经是本地gradle文件依赖,不用引入
Duplicate class android.support. v4. app.INotificationSideCh found in modules classes jar (androidx. core: core: 1.1.0) and classes, jar(com. android.support: support-compat:28.0.0)
需要开开关,在设置中打开
请大老赐教,是不是gradle或者java version问题,import了rabbit 库之后编译不过
麻烦作者看下,🙏
ERROR: Failed to resolve: com.susion:rabbit-ui-base:0.0.7.1
Show in Project Structure dialog
Affected Modules: app
AndroidRuntime: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/susion/rabbit/tracer/AppStartTracer;
类似微信内存优化实践说的
“针对上述特点,我们加入了一个针对 Bitmap 的高性价比监控:在接口层中将所有被创建出来的 Bitmap 加入一个 WeakHashMap,同时记录创建 Bitmap 的时间、堆栈等信息,然后在适当的时候查看这个 WeakHashMap 看看哪些 Bitmap 仍然存活来判断是否出现 Bitmap 滥用或泄漏。”
主要的做法就是做个BigImageMonitor,然后提供接口给到业务方,业务方在创建bitmap,或者用图片库加载大图后,将bitmap传给 BigImageMonitor,Monitor将bitmap以及相关信息记录,在达到内存阈值的时候上传。
android {
ndkVersion "22.0.7026061"
}
并在 local.properties 中配置ndk路径
rt
作者只加了activity的页面测速,fragment怎么测速那
Task :app:transformClassesWithRabbit-last-transformForJekensDebug FAILED
FAILURE: Build failed with an exception.
java.lang.SecurityException: SHA-256 digest error for org/bouncycastle/LICENSE.class
Most Android developments now use Android Studio,so building with Gradle is more friendly.
使用反射获取Choreographer 对象中的mLock 对象,在Android 11中已被禁止。所以在Android 11之后系统中,获取FPS 的指标存在适配问题
接入编译后报错:SHA-256 digest error for module-info.class
如题
需要切换到非noop
SHA1 digest error for org/bouncycastle/LICENSE.class
原因是当前项目的AndroidX版本和rabbit不兼容,保持一样为1.0.0版本
修复方案:
1.搜索自己工程的更改到1.0.0版本androidX
2.升级到当前最新的1.0.0-alpha18版本 ,已修复
均可修复
反编译的代码:
`
public class RabbitBaseActivity
extends AppCompatActivity
{
private HashMap _$_findViewCache;
private final void setStatusBarColor(Window paramWindow, int paramInt)
{
if (Build.VERSION.SDK_INT >= 23)
{
paramWindow.setStatusBarColor(paramInt);
paramWindow = paramWindow.getDecorView();
Intrinsics.checkExpressionValueIsNotNull(paramWindow, "window.decorView");
paramWindow.setSystemUiVisibility(8192);
}
MethodTracer.recordMethodEnd("com.susion.rabbit.demo.RabbitBaseActivity&setStatusBarColor()");
}
}
`
ChoreographerMonitorCenter 类的 removeDetailedFrameUpdateListener 方法是用于关闭FPS分析功能的,方法内部仍然写了 detailedFrameUpdateMonitor.startMonitor()
看了框架,测速这一块好像不支持fragment比如像app主界面底部tab对应的fragment该怎么测速,还有那种activity中有viewpager+fragment怎么弄。
Could not get unknown property 'latest' for object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.
Open File
。。。
底部导航栏Fragment通过replace方式切换,app crash
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean androidx.fragment.app.FragmentManagerImpl.isDestroyed()' on a null object reference
at androidx.fragment.app.Fragment.performDetach(Fragment.java:2849)
at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:1034)
at androidx.fragment.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManagerImpl.java:1238)
at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:1310)
at androidx.fragment.app.FragmentManagerImpl.dispatchStateChange(FragmentManagerImpl.java:2659)
at androidx.fragment.app.FragmentManagerImpl.dispatchDestroy(FragmentManagerImpl.java:2644)
at androidx.fragment.app.Fragment.performDestroy(Fragment.java:2825)
at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:1028)
at androidx.fragment.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManagerImpl.java:1238)
at androidx.fragment.app.BackStackRecord.executeOps(BackStackRecord.java:434)
at androidx.fragment.app.FragmentManagerImpl.executeOps(FragmentManagerImpl.java:2079)
at androidx.fragment.app.FragmentManagerImpl.executeOpsTogether(FragmentManagerImpl.java:1869)
at androidx.fragment.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManagerImpl.java:1824)
at androidx.fragment.app.FragmentManagerImpl.execPendingActions(FragmentManagerImpl.java:1727)
at androidx.fragment.app.FragmentManagerImpl$2.run(FragmentManagerImpl.java:150)
at android.os.Handler.handleCallback(Handler.java:907)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:216)
at android.app.ActivityThread.main(ActivityThread.java:7625)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:987)
你好,Android10内存监控时候
我用了这两个方法
mActivityManager?.getProcessMemoryInfo(intArrayOf(Process.myPid())) ?: return 0
Debug.getMemoryInfo(info)
结果两个方法都是每隔5分钟才会刷新一次,请问这个应该怎么办啊
我看rabbit里面好像没有做适配
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.