当前位置: 首页 > news >正文

seo优化的网站西安市建设和住房保障局网站

seo优化的网站,西安市建设和住房保障局网站,网站做签到功能,ueditor wordpress4.7背景:项目中一直使用的是原生 SP,众所周知,使用原生 SP 存在卡顿性能问题。公司的性能监控平台抓到不少原生 SP 导致的 ANR 问题: java.io.FileDescriptor.sync (FileDescriptor.java) android.os.FileUtils.sync (FileUtils.java:256) android.app.SharedPreferencesImpl.…

背景:项目中一直使用的是原生 SP,众所周知,使用原生 SP 存在卡顿性能问题。公司的性能监控平台抓到不少原生 SP 导致的 ANR 问题:


java.io.FileDescriptor.sync (FileDescriptor.java)
android.os.FileUtils.sync (FileUtils.java:256)
android.app.SharedPreferencesImpl.writeToFile (SharedPreferencesImpl.java:807)
android.app.SharedPreferencesImpl.access$900 (SharedPreferencesImpl.java:59)
android.app.SharedPreferencesImpl$2.run (SharedPreferencesImpl.java:672)
android.app.QueuedWork.processPendingWork (QueuedWork.java:265)
android.app.QueuedWork.waitToFinish (QueuedWork.java:178)
android.app.ActivityThread.handleServiceArgs (ActivityThread.java:4977)
android.app.ActivityThread.access$2300 (ActivityThread.java:284)
android.app.ActivityThread$H.handleMessage (ActivityThread.java:2322)
android.os.Handler.dispatchMessage (Handler.java:106)
android.os.Looper.loopOnce (Looper.java:233)
android.os.Looper.loop (Looper.java:334)
android.app.ActivityThread.main (ActivityThread.java:8396)
java.lang.reflect.Method.invoke (Method.java)
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:582)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1068)

因此,替换原生 SP 迫在眉睫。

本文记录如何使用腾讯开源框架 MMKV 替换原生 SP、以及替换后当中遇到的一些问题解决。

一、替换方案选择

综合考虑,我们选择了方案3

二、接入 MMKV

  1. 新建 MMKV module

build.gradle 中添加依赖,这里采用的是较为稳定的版本 1.2.14

implementation 'com.tencent:mmkv:1.2.14'

2. 重新实现SharedPreferences.Editor, SharedPreferences 以及迁移原本的 SharePreferences 数据


package com.mikel.mmkv;import android.content.Context;
import android.content.SharedPreferences;import com.tencent.mmkv.MMKV;import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;public class MMKVSP implements SharedPreferences.Editor, SharedPreferences {private MMKV mmkv;private Context mContext;private boolean isMultiprocess;private ArrayList<OnSharedPreferenceChangeListener> listeners;private final Object listenerLock = new Object();public static void initialize(Context context) {MMKV.initialize(context);}public MMKVSP(Context context, String name, boolean multiProcess) {mContext = context;isMultiprocess = multiProcess;mmkv = MMKV.mmkvWithID(name,(isMultiprocess? Context.MODE_MULTI_PROCESS :  Context.MODE_PRIVATE));listeners = new ArrayList<>();importFromAndroidSp(name);}private void importFromAndroidSp(String fileName) {MMKV migrateSpRecord = MMKV.mmkvWithID("migrate_sp_record");boolean isImported = migrateSpRecord.getBoolean(fileName, false);SharedPreferences sharedPreferences = null;if (!isImported) {if(mContext instanceof IMMKVProvider) {sharedPreferences = ((IMMKVProvider)mContext).getSuperSharedPreferences(fileN
http://www.yayakq.cn/news/214621/

相关文章:

  • diy建站系统昆明网站建设论坛
  • 在线logo优化推广网站推荐
  • 中国石油销售公司网站建设上饶做网站要多少钱
  • 用asp做的大型网站ui培训基地
  • 网站开发招标采购需求wordpress如何更改导航栏的样式
  • 企业商城网站开发腾云网建站
  • 5个免费安全的资源网站destoon 网站搬迁
  • 六盘水住房和城乡建设部网站网站优化公司信息推荐
  • 免费申请网站官网做自己的网站难不难
  • 汽车城网站建设方案手机网络加速器
  • 商城网站标题一级消防工程师考试题库及答案
  • app网站开发者集团网站建设特色
  • 2021建站公司永川建网站
  • 深圳福田做网站公司哪家好顾氏网站建设有限公司怎么样
  • 开网站供免费下载oa系统哪个品牌好
  • 百度搜索网站打开错误深圳互联时空网站优化怎么样
  • 自主建站平台wordpress 小程序主题
  • 广东电商网站建设专注小程序定制开发
  • wordpress反馈插件某个网站seo分析实例
  • 江苏省建设工程八大员考试网站烟台牟平住房建设局网站
  • 自己办网站html5开发网站
  • 做曖网站辛集手机网站建设
  • 网站构建的过程的网站
  • 广州站停运最新消息重庆网站seo技术
  • 江苏恒健建设集团有限公司网站wap软件
  • 建设好网站能赚到钱吗?wordpress实现文章阅读次数
  • 天津住房与城乡建设部网站网站建设推广入什么费用
  • 做网站图片怎么做长沙市住房与城乡建设厅网站
  • 手机 网站 系统私人网站免费观看
  • 石家庄做网站哪家公司好云南省火电建设公司网站