positive: pr中如何制作抽帧效果,这里,让小编给大家大概的介绍一下,让大家知道是怎么回事。<br>首先我们打开pr软件并导入素材。<br>将素材拖动到时间轴中创建序列。<br>接着我们在视频效果中找到抽帧效果拖动到序列上。<br>然后在左侧的效果控件中找到抽帧级别,最小值为2,抽帧效果最明显。<br>大家按空格键预览一下效果,如图所示。
negative: activeResources中<br>private EngineResourceloadFromCache(Key key, boolean isMemoryCacheable) { if (!isMemoryCacheable) { return null; } EngineResourcecached = getEngineResourceFromCache(key); if (cached != null) { cached.acquire(); activeResources.put(key, new ResourceWeakReference(key, cached, getReferenceQueue())); } return cached; }<br>接着看getEngineResourceFromCache()方法中的第一行代码,内存中删除了要取出的值<br>private EngineResourcegetEngineResourceFromCache(Key key) { //Removes the value for the given key and returns it if present or null otherwise. Resourcecached = cache.remove(key); final EngineResource result; if (cached == null) { result = null; } else if (cached instanceof EngineResource) { // Save an object allocation if we've cached an EngineResource (the typical case). result = (EngineResource) cached; } else { result = new EngineResource(cached, true /*isCacheable*/); } return result; }<br>所以当发现内存中有值的时候,是先存进弱引用中,然后再查找弱引用显示图片,弱引用中没有图片的话再去硬盘中找。<br>Tip:采用弱引用的方式是为了防止内存泄漏<br>内存缓存<br>1.关键类<br>LruResourceCache 内部存储的相关方法类<br>MemoryCache 内部存储方法接口<br>Engine 统领内存相关操作的类<br>2.封装机制<br>内存缓存的封装机制很简单,找到这个类,你也就明白了<br>硬盘缓存<br>1.相关类<br>DiskLruCacheWrapper 磁盘存储相关方法类<br>DiskLruCacheFactory 获得以上实例的工厂类<br>ExternalCacheDiskCacheFactory 返回外部存储文件地址<br>InternalCacheDiskCacheFactory 返回内部存储文件地址<br>DecodeJob 对硬盘存储方法的进一步封装<br>2.封装机制<br>