- Added baseline profile generator for Rosetta Messenger to optimize startup performance. - Created startup benchmark tests to measure cold start times under different compilation modes. - Introduced a new Gradle module for baseline profile and benchmark tests. - Updated ChatsListViewModel to show loading skeleton while data is being fetched. - Improved keyboard handling in MessageInputBar by using SHOW_IMPLICIT instead of SHOW_FORCED. - Minor code cleanups and optimizations across various components.
109 lines
4.9 KiB
Plaintext
109 lines
4.9 KiB
Plaintext
# Baseline Profile for Rosetta Messenger
|
|
# AOT-compiles critical classes and methods at APK install time
|
|
|
|
# 1. APP STARTUP
|
|
HSPLcom/rosetta/messenger/RosettaApplication;->onCreate()V
|
|
HSPLcom/rosetta/messenger/MainActivity;->onCreate(Landroid/os/Bundle;)V
|
|
|
|
# 2. CRYPTO
|
|
HSPLcom/rosetta/messenger/crypto/CryptoManager;->getPbkdf2Key(Ljava/lang/String;)Ljavax/crypto/spec/SecretKeySpec;
|
|
HSPLcom/rosetta/messenger/crypto/CryptoManager;->decryptWithPassword(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
|
|
HSPLcom/rosetta/messenger/crypto/CryptoManager;->decryptWithPasswordInternal(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
|
|
HSPLcom/rosetta/messenger/crypto/CryptoManager;->isOldFormat(Ljava/lang/String;)Z
|
|
HSPLcom/rosetta/messenger/crypto/CryptoManager;->decompress([B)[B
|
|
HSPLcom/rosetta/messenger/crypto/CryptoManager;->encryptWithPassword(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
|
|
HSPLcom/rosetta/messenger/crypto/CryptoManager;->compress([B)[B
|
|
HSPLcom/rosetta/messenger/crypto/CryptoManager;->clearCaches()V
|
|
HSPLcom/rosetta/messenger/crypto/MessageCrypto;->**(**)**
|
|
HSPLjavax/crypto/Cipher;->getInstance(Ljava/lang/String;)**
|
|
HSPLjavax/crypto/Cipher;->doFinal([B)**
|
|
HSPLjavax/crypto/SecretKeyFactory;->getInstance(Ljava/lang/String;)**
|
|
HSPLorg/bouncycastle/jce/**;->**(**)**
|
|
HSPLcom/google/crypto/tink/subtle/XChaCha20Poly1305;->**(**)**
|
|
|
|
# 3. DATABASE
|
|
HSPLcom/rosetta/messenger/database/RosettaDatabase;->**(**)**
|
|
HSPLcom/rosetta/messenger/database/RosettaDatabase_Impl;->**(**)**
|
|
HSPLcom/rosetta/messenger/database/DialogDao_Impl;->**(**)**
|
|
HSPLcom/rosetta/messenger/database/MessageDao_Impl;->**(**)**
|
|
HSPLandroidx/room/RoomDatabase;->**(**)**
|
|
HSPLandroidx/room/Room;->**(**)**
|
|
|
|
# 4. VIEWMODELS
|
|
HSPLcom/rosetta/messenger/ui/chats/ChatsListViewModel;->**(**)**
|
|
HSPLcom/rosetta/messenger/ui/chats/ChatViewModel;->**(**)**
|
|
|
|
# 5. COMPOSE UI
|
|
HSPLcom/rosetta/messenger/ui/chats/ChatsListScreenKt;->ChatsListScreen(**)**
|
|
HSPLcom/rosetta/messenger/ui/chats/ChatsListScreenKt;->DialogItem(**)**
|
|
HSPLcom/rosetta/messenger/ui/chats/ChatsListScreenKt;->ChatsListSkeleton(**)**
|
|
HSPLcom/rosetta/messenger/ui/chats/ChatsListScreenKt;->SkeletonDialogItem(**)**
|
|
HSPLcom/rosetta/messenger/ui/chats/ChatsListScreenKt;->SwipeableDialogItem(**)**
|
|
HSPLcom/rosetta/messenger/ui/chats/ChatDetailScreenKt;->ChatDetailScreen(**)**
|
|
HSPLcom/rosetta/messenger/ui/chats/ChatDetailScreenKt;->MessageBubble(**)**
|
|
HSPLcom/rosetta/messenger/ui/chats/ChatDetailScreenKt;->MessageInputBar-c4CPeSU(**)**
|
|
HSPLcom/rosetta/messenger/ui/chats/components/ChatDetailComponentsKt;->**(**)**
|
|
HSPLcom/rosetta/messenger/ui/chats/input/ChatDetailInputKt;->**(**)**
|
|
|
|
# 6. KEYBOARD
|
|
HSPLapp/rosette/android/ui/keyboard/AnimatedKeyboardTransitionKt;->AnimatedKeyboardTransition(**)**
|
|
HSPLapp/rosette/android/ui/keyboard/KeyboardTransitionCoordinator;->**(**)**
|
|
|
|
# 7. EMOJI
|
|
HSPLcom/rosetta/messenger/ui/components/emoji/OptimizedEmojiPickerKt;->**(**)**
|
|
HSPLcom/rosetta/messenger/ui/components/OptimizedEmojiCache;->**(**)**
|
|
HSPLcom/rosetta/messenger/ui/components/AppleEmojiEditTextKt;->**(**)**
|
|
|
|
# 8. AVATAR
|
|
HSPLcom/rosetta/messenger/ui/components/AvatarImageKt;->**(**)**
|
|
HSPLcom/rosetta/messenger/utils/AvatarBitmapCache;->**(**)**
|
|
HSPLcom/rosetta/messenger/utils/AvatarFileManager;->**(**)**
|
|
HSPLcom/rosetta/messenger/repository/AvatarRepository;->**(**)**
|
|
|
|
# 9. NAVIGATION
|
|
HSPLcom/rosetta/messenger/MainActivityKt;->MainScreen(**)**
|
|
HSPLcom/rosetta/messenger/ui/components/SwipeBackContainerKt;->SwipeBackContainer(**)**
|
|
|
|
# 10. NETWORK
|
|
HSPLcom/rosetta/messenger/data/MessageRepository;->**(**)**
|
|
HSPLcom/rosetta/messenger/network/ProtocolManager;->**(**)**
|
|
HSPLcom/rosetta/messenger/network/WebSocketManager;->**(**)**
|
|
|
|
# 11. COMPOSE FRAMEWORK
|
|
HSPLandroidx/compose/foundation/lazy/**;->**(**)**
|
|
HSPLandroidx/compose/runtime/**;->**(**)**
|
|
HSPLandroidx/compose/ui/**;->**(**)**
|
|
HSPLandroidx/compose/animation/**;->**(**)**
|
|
HSPLandroidx/compose/material3/**;->**(**)**
|
|
HSPLandroidx/compose/foundation/**;->**(**)**
|
|
|
|
# 12. COROUTINES
|
|
HSPLkotlinx/coroutines/**;->**(**)**
|
|
|
|
# 13. PROFILEINSTALLER
|
|
HSPLandroidx/profileinstaller/**;->**(**)**
|
|
|
|
# 14. LOTTIE
|
|
HSPLcom/airbnb/lottie/**;->**(**)**
|
|
|
|
# 15. COIL
|
|
HSPLcoil/**;->**(**)**
|
|
|
|
# CLASS PRELOADING
|
|
Lcom/rosetta/messenger/MainActivity;
|
|
Lcom/rosetta/messenger/RosettaApplication;
|
|
Lcom/rosetta/messenger/crypto/CryptoManager;
|
|
Lcom/rosetta/messenger/crypto/MessageCrypto;
|
|
Lcom/rosetta/messenger/database/RosettaDatabase;
|
|
Lcom/rosetta/messenger/database/RosettaDatabase_Impl;
|
|
Lcom/rosetta/messenger/database/DialogDao_Impl;
|
|
Lcom/rosetta/messenger/database/MessageDao_Impl;
|
|
Lcom/rosetta/messenger/ui/chats/ChatsListViewModel;
|
|
Lcom/rosetta/messenger/ui/chats/ChatViewModel;
|
|
Lcom/rosetta/messenger/data/MessageRepository;
|
|
Lcom/rosetta/messenger/network/ProtocolManager;
|
|
Lcom/rosetta/messenger/network/WebSocketManager;
|
|
Lcom/rosetta/messenger/ui/components/OptimizedEmojiCache;
|
|
Lcom/rosetta/messenger/utils/AvatarBitmapCache;
|
|
Lcom/rosetta/messenger/repository/AvatarRepository;
|