Electronic device and method for deleting application data file in electronic device
Patent Information
- Application Number
- PCT/KR2024/005116
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-05-15
- Filing Date
- 2024-04-17
- Publication Date
- 2025-06-26
AI Technical Summary
When an application is deleted on an electronic device, its associated data files stored in a shared area are often not properly removed, leading to clutter and storage inefficiency due to hidden or deep directory paths, making them difficult to access and useless.
An electronic device is equipped with instructions that identify and delete application data files of a specified type from the shared memory area, allowing users to confirm and manage the deletion of other types based on user response, ensuring that only relevant data is retained.
This solution effectively notifies users of remaining application data files and allows them to decide on deletion, thereby cleaning up storage space and improving device efficiency by removing unnecessary data.
Smart Images

Figure KR2024005116_26062025_PF_FP_ABST
Abstract
Description
How to delete application data files from electronic devices and electronic devices
[0001] Various embodiments of the present disclosure relate to an electronic device and a method of operating the same, and more particularly, to a method for deleting an application data file in an electronic device.
[0002] As information and communication technology advances, various functions are being integrated into communication devices or electronic devices. Electronic devices include a central processing unit (CPU) and memory, and the CPU can execute programs (e.g., application programs) stored in the memory. The CPU may include a processor. The memory can store data files associated with the application program.
[0003] The processor of an electronic device can execute or process at least one application program (hereinafter referred to as an "application"). While executing or processing the application, the processor of the electronic device can create and / or store in memory a data file associated with the application (hereinafter referred to as an "application data file"). The processor of the electronic device can store the application data file in an application area (e.g., an app-private area) or a shared area (e.g., a shared storage area). The application area may be a storage area accessible only through the application, and the shared area may be a storage area accessible not only to the application but also to other programs (or other applications). For example, the processor of the electronic device can store the application data file in the application area if it is a data file used only by the application, and can store it in the shared area if it is a file to be shared. The processor of the electronic device can also create the application data file as a hidden file or store it in the shared area with a deep directory path so that the application can use it, even though the application data file is a data file used only by the application.
[0004] The processor of an electronic device may delete application data when deleting an application upon request. When deleting application data, the processor of the electronic device may delete application data stored in the application area, but may not delete application data stored in the shared area, as it may be used by other programs (or applications) in addition to the application in question.
[0005] If the application data files stored in the shared area are not deleted even though the application has been deleted, the application data files stored in the shared area may be hidden or have a deep directory path, making them difficult for users to use and may exist as meaningless data files that only take up storage space.
[0006] According to one embodiment of the present disclosure, an electronic device may include a display, a memory, and a processor operatively connected to the display and the memory. According to one embodiment, the memory may store instructions that, when executed, cause the processor to identify at least one application data file corresponding to a deleted application among data files stored in a shared area of the memory. According to one embodiment, the memory may store instructions that, when executed, cause the processor to delete an application data file of a designated type if an application data file of a designated type exists among the at least one application data file. According to one embodiment, the memory may store instructions that, when executed, cause the processor to display, on the display, information confirming whether to delete an application data file of a non-designated type if an application data file of a non-designated type exists among the at least one application data file. According to one embodiment, the memory may store instructions that, when executed, cause the processor to delete or retain an application data file of a non-designated type based on a response to the information.
[0007] According to one embodiment of the present disclosure, a method for deleting an application data file in an electronic device may include an operation of identifying at least one application data file corresponding to a deleted application among data files stored in a shared area of a memory of the electronic device. According to one embodiment, the method may include an operation of deleting an application data file of a specified type among the at least one application data file, if an application data file of a specified type exists among the at least one application data file. According to one embodiment, the method may include an operation of displaying information on a display of the electronic device, if an application data file of a different type exists among the at least one application data file, for confirming whether to delete an application data file of a different type. According to one embodiment, the method may include an operation of deleting or maintaining an application data file of a different type based on a response to the information.
[0008] According to one embodiment of the present disclosure, a non-volatile storage medium storing commands is provided, wherein the commands are configured to cause the electronic device to perform at least one operation when executed by the electronic device, wherein the at least one operation may include: identifying at least one application data file corresponding to a deleted application among data files stored in a shared area of a memory of the electronic device; deleting an application data file of a specified type when an application data file of a specified type exists among the at least one application data file; displaying information on a display of the electronic device to confirm whether an application data file of a specified type is deleted when an application data file of a specified type other than the specified type exists among the at least one application data file; and deleting or maintaining an application data file of a specified type other than the specified type based on a response to the information.
[0009] According to one embodiment of the present disclosure, when an application is deleted, the application data files stored in the shared area can be notified to the user and deleted according to the user's choice.
[0010] According to one embodiment of the present disclosure, if an application corresponding to application data does not exist in a shared area, the application may notify the user of the non-existent application data file and allow the user to delete the file at his / her option.
[0011] FIG. 1 is a block diagram of an electronic device within a network environment according to one embodiment.
[0012] FIG. 2A is a block diagram of an electronic device according to one embodiment.
[0013] FIG. 2b is a diagram illustrating a storage area of a memory according to one embodiment.
[0014] FIG. 3 is a flowchart illustrating an application data file deletion operation in an electronic device according to one embodiment.
[0015] FIG. 4 is a flowchart illustrating an operation of deleting an application data file when deleting an application in an electronic device according to one embodiment.
[0016] FIG. 5 is a flowchart illustrating an operation of an electronic device deleting an application data file in an idle state according to an embodiment.
[0017] FIG. 6 is a flowchart illustrating an operation of an electronic device according to one embodiment of the present invention to delete an application data file stored in an external electronic device when the external storage device is connected.
[0018] FIG. 7A is a diagram illustrating information displayed on a display when an application is deleted in an electronic device according to one embodiment.
[0019] FIG. 7b is a diagram showing information for confirming whether an application data file has been deleted according to one embodiment.
[0020] FIG. 8A is a diagram illustrating information displayed on a display when an electronic device according to one embodiment identifies application data files for an application deleted in an idle state.
[0021] FIG. 8b is a diagram showing information for confirming whether an application data file for a deleted application is deleted according to one embodiment.
[0022] FIG. 9 is a diagram showing information for checking whether an application data file for a deleted application among data files obtained from an external device by an electronic device according to one embodiment is deleted.
[0023] FIG. 10 is a diagram showing information for checking whether to delete an application data file for a deleted application among the data files of the SD card when the SD card is connected to an electronic device according to one embodiment.
[0024] In connection with the description of the drawings, the same or similar reference numerals may be used for identical or similar components.
[0025] The terms used in this document are used only to describe specific embodiments and may not be intended to limit the scope of other embodiments. The singular expression may include the plural expression unless the context clearly indicates otherwise. All terms used herein, including technical or scientific terms, may have the same meaning as commonly understood by those of ordinary skill in the art of the present invention. Terms defined in commonly used dictionaries may be interpreted as having the same or similar meaning in the context of the relevant technology, and shall not be interpreted in an idealized or overly formal sense unless explicitly defined in this document. In some cases, even if a term is defined in this document, it cannot be interpreted to exclude embodiments of the present invention.
[0026] FIG. 1 is a block diagram of an electronic device (101) within a network environment (100) according to one embodiment.
[0027] Referring to FIG. 1, in a network environment (100), an electronic device (101) may communicate with an electronic device (102) via a first network (198) (e.g., a short-range wireless communication network), or may communicate with at least one of an electronic device (104) or a server (108) via a second network (199) (e.g., a long-range wireless communication network). According to one embodiment, the electronic device (101) may communicate with the electronic device (104) via the server (108). According to one embodiment, the electronic device (101) may include a processor (120), a memory (130), an input module (150), an audio output module (155), a display module (160), an audio module (170), a sensor module (176), an interface (177), a connection terminal (178), a haptic module (179), a camera module (180), a power management module (188), a battery (189), a communication module (190), a subscriber identification module (196), or an antenna module (197). In some embodiments, the electronic device (101) may omit at least one of these components (e.g., the connection terminal (178)), or may have one or more other components added. In some embodiments, some of these components (e.g., the sensor module (176), the camera module (180), or the antenna module (197)) may be integrated into one component (e.g., the display module (160)).
[0028] The processor (120) may control at least one other component (e.g., a hardware or software component) of the electronic device (101) connected to the processor (120) by executing, for example, software (e.g., a program (140)), and may perform various data processing or calculations. According to one embodiment, as at least a part of the data processing or calculation, the processor (120) may store a command or data received from another component (e.g., a sensor module (176) or a communication module (190)) in a volatile memory (132), process the command or data stored in the volatile memory (132), and store the resulting data in a non-volatile memory (134). According to one embodiment, the processor (120) may include a main processor (121) (e.g., a central processing unit or an application processor) or a secondary processor (123) (e.g., a graphics processing unit, a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor) that can operate independently or together therewith. For example, if the electronic device (101) includes a main processor (121) and a secondary processor (123), the secondary processor (123) may be configured to use less power than the main processor (121) or to be specialized for a specified function. The secondary processor (123) may be implemented separately from the main processor (121) or as a part thereof.
[0029] The auxiliary processor (123) may control at least a part of functions or states associated with at least one component (e.g., a display module (160), a sensor module (176), or a communication module (190)) of the electronic device (101), for example, on behalf of the main processor (121) while the main processor (121) is in an inactive (e.g., sleep) state, or together with the main processor (121) while the main processor (121) is in an active (e.g., application execution) state. In one embodiment, the auxiliary processor (123) (e.g., an image signal processor or a communication processor) may be implemented as a part of another functionally related component (e.g., a camera module (180) or a communication module (190)). In one embodiment, the auxiliary processor (123) (e.g., a neural network processing unit) may include a hardware structure specialized for processing artificial intelligence models. The artificial intelligence models may be generated through machine learning. This learning can be performed, for example, on the electronic device (101) itself where the artificial intelligence model is executed, or can be performed through a separate server (e.g., server (108)). The learning algorithm can include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but is not limited to the examples described above. The artificial intelligence model can include multiple artificial neural network layers.The artificial neural network may be one of a deep neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), a restricted Boltzmann machine (RBM), a deep belief network (DBN), a bidirectional recurrent deep neural network (BRDNN), a deep Q-network, or a combination of two or more of the above, but is not limited to the examples described above. In addition to, or alternatively to, a hardware structure, an artificial intelligence model may include a software structure.
[0030] The memory (130) can store various data used by at least one component (e.g., processor (120) or sensor module (176)) of the electronic device (101). The data can include, for example, software (e.g., program (140)) and input data or output data for commands related thereto. The memory (130) can include volatile memory (132) or non-volatile memory (134).
[0031] The program (140) may be stored as software in the memory (130) and may include, for example, an operating system (142), middleware (144), or an application (146).
[0032] The input module (150) can receive commands or data to be used in a component of the electronic device (101) (e.g., a processor (120)) from an external source (e.g., a user) of the electronic device (101). The input module (150) can include, for example, a microphone, a mouse, a keyboard, a key (e.g., a button), or a digital pen (e.g., a stylus pen).
[0033] The audio output module (155) can output audio signals to the outside of the electronic device (101). The audio output module (155) can include, for example, a speaker or a receiver. The speaker can be used for general purposes, such as multimedia playback or recording playback. The receiver can be used to receive incoming calls. According to one embodiment, the receiver can be implemented separately from the speaker or as part of the speaker.
[0034] The display module (160) can visually provide information to an external party (e.g., a user) of the electronic device (101). The display module (160) may include, for example, a display, a holographic device, or a projector and a control circuit for controlling the device. According to one embodiment, the display module (160) may include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of a force generated by the touch.
[0035] The audio module (170) can convert sound into an electrical signal, or vice versa, convert an electrical signal into sound. According to one embodiment, the audio module (170) can acquire sound through the input module (150), output sound through the sound output module (155), or an external electronic device (e.g., electronic device (102)) (e.g., speaker or headphone) directly or wirelessly connected to the electronic device (101).
[0036] The sensor module (176) can detect the operating status (e.g., power or temperature) of the electronic device (101) or the external environmental status (e.g., user status) and generate an electrical signal or data value corresponding to the detected status. According to one embodiment, the sensor module (176) can include, for example, a gesture sensor, a gyro sensor, a barometric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, a temperature sensor, a humidity sensor, or an illuminance sensor.
[0037] The interface (177) may support one or more designated protocols that may be used to directly or wirelessly connect the electronic device (101) with an external electronic device (e.g., the electronic device (102)). In one embodiment, the interface (177) may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
[0038] The connection terminal (178) may include a connector through which the electronic device (101) may be physically connected to an external electronic device (e.g., electronic device (102)). According to one embodiment, the connection terminal (178) may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).
[0039] A haptic module (179) can convert electrical signals into mechanical stimuli (e.g., vibration or movement) or electrical stimuli that a user can perceive through tactile or kinesthetic sensations. According to one embodiment, the haptic module (179) can include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
[0040] The camera module (180) can capture still images and videos. According to one embodiment, the camera module (180) may include one or more lenses, image sensors, image signal processors, or flashes.
[0041] The power management module (188) can manage power supplied to the electronic device (101). According to one embodiment, the power management module (188) can be implemented as, for example, at least a part of a power management integrated circuit (PMIC).
[0042] A battery (189) may power at least one component of the electronic device (101). In one embodiment, the battery (189) may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
[0043] The communication module (190) may support the establishment of a direct (e.g., wired) communication channel or a wireless communication channel between the electronic device (101) and an external electronic device (e.g., electronic device (102), electronic device (104), or server (108)), and the performance of communication through the established communication channel. The communication module (190) may operate independently from the processor (120) (e.g., application processor) and may include one or more communication processors that support direct (e.g., wired) communication or wireless communication. According to one embodiment, the communication module (190) may include a wireless communication module (192) (e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module (194) (e.g., a local area network (LAN) communication module, or a power line communication module). Among these communication modules, the corresponding communication module can communicate with an external electronic device (104) via a first network (198) (e.g., a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network (199) (e.g., a long-range communication network such as a legacy cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., a LAN or WAN)). These various types of communication modules can be integrated into a single component (e.g., a single chip) or implemented as multiple separate components (e.g., multiple chips). The wireless communication module (192) can verify or authenticate the electronic device (101) within a communication network such as the first network (198) or the second network (199) by using subscriber information (e.g., an international mobile subscriber identity (IMSI)) stored in the subscriber identification module (196).
[0044] The wireless communication module (192) can support 5G networks and next-generation communication technologies following the 4G network, such as NR access technology (new radio access technology). The NR access technology can support high-speed transmission of high-capacity data (eMBB (enhanced mobile broadband)), minimization of terminal power and connection of multiple terminals (mMTC (massive machine type communications)), or high reliability and low latency (URLLC (ultra-reliable and low-latency communications)). The wireless communication module (192) can support, for example, a high-frequency band (e.g., mmWave band) to achieve a high data transmission rate. The wireless communication module (192) can support various technologies for securing performance in a high-frequency band, such as beamforming, massive multiple-input and multiple-output (MIMO), full dimensional MIMO (FD-MIMO), array antenna, analog beam-forming, or large scale antenna. The wireless communication module (192) can support various requirements specified in the electronic device (101), an external electronic device (e.g., the electronic device (104)), or a network system (e.g., the second network (199)). According to one embodiment, the wireless communication module (192) may support a peak data rate (e.g., 20 Gbps or more) for eMBB realization, a loss coverage (e.g., 164 dB or less) for mMTC realization, or a U-plane latency (e.g., 0.5 ms or less for downlink (DL) and uplink (UL), or 1 ms or less for round trip) for URLLC realization.
[0045] The antenna module (197) can transmit or receive signals or power to or from an external device (e.g., an external electronic device). According to one embodiment, the antenna module (197) may include an antenna including a radiator formed of a conductor or a conductive pattern formed on a substrate (e.g., a PCB). According to one embodiment, the antenna module (197) may include a plurality of antennas (e.g., an array antenna). In this case, at least one antenna suitable for a communication method used in a communication network, such as the first network (198) or the second network (199), may be selected from the plurality of antennas, for example, by the communication module (190). A signal or power may be transmitted or received between the communication module (190) and an external electronic device via the selected at least one antenna. According to some embodiments, in addition to the radiator, another component (e.g., a radio frequency integrated circuit (RFIC)) may be additionally formed as a part of the antenna module (197).
[0046] In one embodiment, the antenna module (197) may form a mmWave antenna module. In one embodiment, the mmWave antenna module may include a printed circuit board, an RFIC disposed on or adjacent to a first side (e.g., a bottom side) of the printed circuit board and capable of supporting a designated high-frequency band (e.g., a mmWave band), and a plurality of antennas (e.g., an array antenna) disposed on or adjacent to a second side (e.g., a top side or a side side) of the printed circuit board and capable of transmitting or receiving signals in the designated high-frequency band.
[0047] At least some of the above components can be interconnected and exchange signals (e.g., commands or data) with each other via a communication method between peripheral devices (e.g., a bus, GPIO (general purpose input and output), SPI (serial peripheral interface), or MIPI (mobile industry processor interface)).
[0048] According to one embodiment, commands or data may be transmitted or received between the electronic device (101) and an external electronic device (104) via a server (108) connected to a second network (199). Each of the external electronic devices (102 or 104) may be the same or a different type of device as the electronic device (101). According to one embodiment, all or part of the operations executed in the electronic device (101) may be executed in one or more of the external electronic devices (102, 104, or 108). For example, when the electronic device (101) is to perform a certain function or service automatically or in response to a request from a user or another device, the electronic device (101) may, instead of or in addition to executing the function or service itself, request one or more external electronic devices to perform the function or at least a part of the service. One or more external electronic devices that receive the request may execute at least a portion of the requested function or service, or an additional function or service related to the request, and transmit the result of the execution to the electronic device (101). The electronic device (101) may process the result as is or additionally and provide it as at least a portion of a response to the request. For this purpose, cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology may be used, for example. The electronic device (101) may provide an ultra-low latency service by using distributed computing or mobile edge computing, for example. In another embodiment, the external electronic device (104) may include an Internet of Things (IoT) device. The server (108) may be an intelligent server utilizing machine learning and / or a neural network. According to one embodiment, the external electronic device (104) or the server (108) may be included in the second network (199).The electronic device (101) can be applied to intelligent services (e.g., smart home, smart city, smart car, or healthcare) based on 5G communication technology and IoT-related technology.
[0049] FIG. 2A is a block diagram of an electronic device according to one embodiment.
[0050] Referring to FIG. 2A, an electronic device (201) according to an embodiment (e.g., the electronic device (101) of FIG. 1) may include a processor (220), a memory (230), a display (260), and / or a communication circuit (290). The electronic device (201) according to an embodiment is not limited thereto and may further include various components or may be configured by excluding some of the components. The electronic device (201) according to an embodiment may further include all or part of the electronic device (101) illustrated in FIG. 1.
[0051] A processor (220) according to an embodiment (e.g., processor (120) of FIG. 1) may include an application processor (AP) and / or a central processing unit (CPU). The processor (220) according to an embodiment may generate and / or obtain a data file (hereinafter, also referred to as an “application data file”) associated with an application when executing, processing, or installing an application, and store the data file in the memory (230). The processor (220) according to an embodiment may store the application data file in an application area (e.g., app-private area) or a shared area (e.g., shared storage). The application area may be a storage area accessible through the application, and the shared area may be a storage area that may be shared not only by the application but also by other programs (or other applications) other than the application. The processor (220) according to an embodiment may store an application data file designated to be stored in the application area in the application area, and may store an application data file not designated to be stored in the application area in the shared area.
[0052] According to one embodiment, the processor (220) may store file owner (or application data file creator or application name that created the application data file) information corresponding to each of at least one application data file stored in a shared area of the memory (230).
[0053] According to one embodiment, the processor (220) may store an owner package name (owner_package_name) as file owner information corresponding to an application data file stored in a shared area of the memory (230) in a database using a designated program (or a program that manages access to the shared area) (e.g., a media provider).
[0054] According to an embodiment, a processor (220) may call a Method of a media provider in a file system when creating an application data file at the request of an application. The processor (220) may store an owner package name (owner_package_name) as file owner information corresponding to the application data file being created in a database using the Method of the media provider. If the application has a bypass (or skip) right for storing information of the application data file, the processor (220) may request the media provider to scan the shared area (234) after completing storing the application data file, and based on the scan result of the shared area (234), file information for the application data file stored in the stored shared area (234) may be stored in the database without file owner information.
[0055] For example, a database may include information such as Table 1 below as file information for each data file stored in a shared area.
[0056] _id_data_sizedata_addedowner_package_name1000000015 / storage / emulated / 0 / music345216608116291000000016 / storage / emulated / 0 / music / samsung345216608116291000000017 / storage / emulated / 0 / music / samsung / o.mp3483110416608116291000000018 / storage / emulated / 0 / android345216608116291000000019 / storage / emulated / 0 / android / media345216608116291000000020 / storage / emulated / 0 / DCIM / camera1000000021 / storage / emulated / 0 / DCIM / camera / 1.jpg32348911660812065com.sec.android.gallery3d1000000022 / storage / emulated / 0 / DCIM / camera / 2.jpg22894851660812067com.sec.android.gallery3d1000000023 / storage / emulated / 0 / DCIM / camera / 3.jpg22906221660812069com.sec.android.gallery3d1000000024 / storage / emulated / 0 / DCIM / camera / 4.jpg23021001660812070com.sec.android.gallery3d1000000025 / storage / emulated / 0 / DCIM / camera / 5.jpg22882671660812071com.sec.android.gallery3d1000000026 / storage / emulated / 0 / DCIM / camera / 6.jpg22969271660812073com.sec.android.gallery3d
[0057] Referring to Table 1 above, according to one embodiment, the processor (220) may store file information for each of all data files stored in the shared area, and the file information for each of the data files stored in the shared area may include application file information corresponding to the application data file. For example, the application data file information may include the ID (_id) of the application data file, the storage path (or directory) and name (_data) of the application data file, the size (_size) of the application data file, the storage date (data_added) of the application data file, and the owner package name (owner_package_name) of the application data file may or may not be included.
[0058] According to one embodiment, when it is impossible to acquire application file information corresponding to an application data file stored in a shared area or when the owner package name (owner_package_name) of the application data file stored in the shared area does not exist (is null), the processor (220) may perform a shared area scan request based on application identification information (e.g., the uid or package name of the application) to the mediaprovider. The processor (220) may store application identification information (e.g., the uid or package name of the application) in the owner package name (owner_package_name) of the application data file based on the shared area scan result of the media provider by the shared area scan request.
[0059] According to one embodiment, when the processor (220) stores an application data file in a shared area, if the file owner information is not stored, the processor (220) may perform a shared area scan upon reboot and store application identification information (e.g., the application's uid or package name) in the owner package name (owner_package_name) of the application data file in the database based on the scan result.
[0060] According to one embodiment, the processor (220) may use a separate file owner information database instead of using a database using a program (e.g., media provider) that manages access to a shared area of the memory (230). According to one embodiment, the processor (220) may store the id and file owner information of an application data file in the file owner information database. According to one embodiment, the processor (220) may store the id and file owner information (e.g., application name) of an application in the file owner information database through a command (e.g., ACTION_PACKAGE_ADDED intent) when installing (or saving) an application. According to one embodiment, the processor (220) may store (or insert) the same id (and / or file owner information) as the id stored in the file owner information database when creating an application data file into metadata of the application data file.
[0061] According to one embodiment, the processor (220) may store the name and / or identification information (e.g., path, gid and / or uid) of an application program or process in a database when using a Linux system, and may store the path, gid and / or uid of an application data file created and / or stored by the application program as file owner information.
[0062] According to one embodiment, the processor (220) can identify at least one application data file corresponding to a deleted application by using file owner information corresponding to each of at least one application data files stored in a shared area of the memory (230).
[0063] According to one embodiment, the processor (220) may obtain first application identification information corresponding to the first application when deleting the first application (or after deleting it) and identify at least one application data file corresponding to the first file owner information that is identical to the first application identification information among file owner information corresponding to at least one application data file stored in the shared area.
[0064] According to one embodiment, the processor (220) may store an application deletion history including application identification information of an application that was installed in the electronic device (201) and then deleted. According to one embodiment, the processor (220) may add the first application identification information to the application deletion history when (or after) deleting the first application. According to one embodiment, the processor (220) may identify at least one application data file corresponding to the first file owner information that is identical to the first application identification information included in the application deletion history among the file owner information corresponding to at least one application data file stored in the shared area.
[0065] According to one embodiment, the processor (220) may identify an application existing (or installed) in the electronic device (201) using a designated program (e.g., a package manager of Android) when a designated condition is satisfied or at designated time intervals in an idle state, and may identify at least one application data file corresponding to an application that does not exist (or is not installed or deleted) among data files stored in a shared area using a database.
[0066] According to one embodiment, the processor (220) can identify an application existing (or installed) in the electronic device (201) and read the application deletion history when a specified condition is satisfied in an idle state or at specified time intervals. The processor (220) according to one embodiment can identify at least one application data file corresponding to the application identification information that is deleted but does not exist in the electronic device (201) among data files stored in the shared area by using the application identification information of the application existing in the electronic device (201) and the application identification information existing in the application deletion history.
[0067] According to one embodiment, the idle state may include a sleep state, a state in which there is no user input for a specified period of time, or a state in a low-power mode. In one embodiment, a state that satisfies a specified condition in the idle state may include a state in which the electronic device is being charged in the idle state and the user does not use the electronic device for a specified period of time (e.g., 75 minutes) or longer. According to one embodiment, the processor (220) may generate a trigger when the electronic device is being charged in the idle state and the user does not use the electronic device for a specified period of time (e.g., 75 minutes) or longer.
[0068] According to one embodiment, when an external storage device (e.g., an external memory (138) of FIG. 1) (e.g., an SD card) is mounted (or inserted or connected) to the electronic device (201), the processor (220) may use metadata of each of the data files stored in the external storage device to identify at least one application data file corresponding to an application that does not exist in the electronic device (201) (or is not installed or deleted) among the data files stored in the external storage device.
[0069] According to one embodiment, when receiving a data file (or data files) from an external server (e.g., a cloud server) through a communication circuit (290), the processor (220) may receive file information for each of the received data files, and identify at least one application data file corresponding to an application that does not exist in the electronic device (201) (or is not installed or deleted) among the received data files based on the file information. According to one embodiment, the external server may store information on an application that frequently (more than a specified number of times) uses a specific application data file stored in a shared area.
[0070] According to one embodiment, the processor (220) may identify whether each of at least one application data file corresponding to a deleted application is of a designated type. For example, the designated type may include a hidden file type, a file type having a storage path longer than a designated length (or a file type having a deep directory structure), a file type having a designated extension, a type designated to be deleted immediately without deletion confirmation, or a type excluding a file type with high utilization (e.g., image, video, audio, text, or document).
[0071] According to one embodiment, the processor (220) may delete an application data file from a shared area if the type of the application data file corresponding to the deleted application is a specified type.
[0072] According to an embodiment, the processor (220) may output information to confirm whether the application data file is deleted if the type of the application data file corresponding to the deleted application is not a designated type. According to an embodiment, the processor (220) may identify an application data file that corresponds to (or is associated with) the deleted application but is not of a designated type. According to an embodiment, the processor (220) may also output information to confirm whether the application data file is deleted for some files that satisfy a designated condition among application data files that correspond to (or are associated with) the deleted application but are not of a designated type. According to an embodiment, among application data files that correspond to (or are associated with) the deleted application but are not of a designated type, some files that satisfy a designated condition may include application data files received (or provided) via the cloud (e.g., from an external server) or from an external memory, or application data files that have not been accessed by the processor (220) or have been accessed less than a designated number of times.
[0073] According to an embodiment, a processor (220) may, when there are multiple application files that are not of a specified type, classify the multiple application files based on a specified condition (e.g., file type (e.g., image, video, audio, text, or document)) or priority, and output a list of classified application files and information for confirming whether an application data file in the list of classified application files has been deleted. For example, the processor (220) may display a message for confirming whether an application data file has been deleted through a display (260) or output a sound for confirming whether an application data file has been deleted through a speaker (e.g., an audio output module (155) of FIG. 1).
[0074] According to one embodiment, the processor (220) may delete or retain the application data file based on a response regarding whether to delete the application data file corresponding to the deleted application. According to one embodiment, the processor (220) may delete or retain the application data file to be deleted based on a user selection input (e.g., touch input or voice input) for deleting the application data file or a user selection input for not deleting or a selection input for not deleting the application data file.
[0075] A memory (230) according to an embodiment may provide a storage space for performing operations or storing data in the processor (220). The data may include, for example, software (e.g., a program (140) of FIG. 1 (e.g., an operating system (142), middleware (144), or application (146))) and input data or output data for commands related thereto. A memory (230) according to an embodiment may include volatile memory or non-volatile memory. A memory (230) according to an embodiment may include an application area (e.g., an app-private area), a shared area (e.g., shared storage), and may further include a preference area and / or a database area.
[0076] A display (260) according to one embodiment (e.g., display module (160) of FIG. 1) may visually provide information to an external party (e.g., a user) of the electronic device (201). The display (260) according to one embodiment may display information for confirming whether an application data file has been deleted if the type of the application data file corresponding to the deleted application is not a specified type based on the control of the processor (220).
[0077] A communication circuit (290) according to an embodiment (e.g., a communication module (190) of FIG. 1) may communicate with an external electronic device (e.g., an external server (or cloud server)) of the electronic device (201). The communication circuit (290) according to an embodiment may receive an application data file (or application data files) and file information about the application data file from the external electronic device through communication.
[0078] FIG. 2b is a diagram illustrating a storage area of a memory according to one embodiment.
[0079] Referring to FIG. 2b, a memory (230) according to one embodiment may include an application area (e.g., app-private area) (232), a shared area (e.g., shared area) (234), a preference area (236), and a database area (238).
[0080] The application area (232) according to one embodiment may store application data files that are only available through the application. The processor (220) according to one embodiment may store application data files that are only available through the application in the application area (232) among the application data files generated and / or acquired when executing, processing, or installing the application. The processor (220) according to one embodiment may delete application data files stored in the application area (232) based on the deletion (or uninstallation) of the application.
[0081] The shared area (234) according to one embodiment may store application data files that can be commonly used not only by the application but also by other programs (or other applications) other than the application. The processor (220) according to one embodiment may store application data files that are commonly used among application data files generated and / or acquired when executing, processing, or installing an application in the shared area (234), or may store application data files received from an external server (e.g., a cloud server) via the communication circuit (290) in the shared area (234). The shared area (234) according to one embodiment may be a storage area of an external storage device (e.g., an external memory (138) of FIG. 1) (e.g., an SD card) identified by the processor (220) by mounting (or inserting or connecting), and may store at least one application data file corresponding to an application that does not exist in the electronic device (201) (or is not installed or deleted).
[0082] According to an embodiment, the processor (220) may identify at least one application data file corresponding to a deleted application by using file owner information corresponding to each of at least one application data file stored in the shared area (234). According to an embodiment, the processor (220) may identify whether the type of each of at least one application data file corresponding to the deleted application is a designated type, and if the type of the application data file corresponding to the deleted application is a designated type, the application data file may be deleted from the shared area (234). According to an embodiment, if the type of the application data file corresponding to the deleted application is not a designated type, the processor (220) may output information for confirming whether the application data file is to be deleted, and may delete or maintain the application data file based on a response (e.g., a user's deletion selection input or a user's non-deletion selection input) for determining whether to delete the application data file corresponding to the deleted application.
[0083] A preference area (236) according to one embodiment can store application-related key-value pairs. A preference area (236) according to one embodiment can store application configuration information, such as a basic welcome message or text font that must be loaded each time the application is executed. A processor (220) according to one embodiment can use the information stored in the preference area (236) when executing an application, and can delete information corresponding to the deleted application among the information in the preference area (236) based on the deletion (or uninstallation) of the application.
[0084] The database area (238) according to one embodiment may store a database including file information for each application data file. The processor (220) according to one embodiment may store a database including application file information corresponding to an application data file stored in a shared area in the database area (238), and update the database when an application data file is created or deleted. For example, the application data file information may include an ID (_id) of the application data file, a storage path (or directory) and name (_data) of the application data file, a size (_size) of the application data file, a storage date (data_added) of the application data file, and an owner package name (owner_package_name) of the application data file.
[0085] An electronic device (e.g., the electronic device (101) of FIG. 1 or the electronic device (201) of FIG. 2A) according to an embodiment may include a display (e.g., the display module (160) of FIG. 1 or the display (260) of FIG. 2), a memory (e.g., the memory (130) of FIG. 1 or the memory (230) of FIG. 2), and a processor (e.g., the processor (120) of FIG. 1 or the processor (220) of FIG. 2) operatively connected to the display and the memory. The memory according to an embodiment may store instructions that, when executed, cause the processor to identify at least one application data file corresponding to a deleted application among data files stored in a shared area of the memory. The memory according to an embodiment may store instructions that, when executed, cause the processor to delete an application data file of a specified type if an application data file of a specified type exists among the at least one application data file. In one embodiment, the memory may store instructions that, when executed, cause the processor to display, on the display, information to determine whether to delete an application data file that is not of the specified type if an application data file that is not of the specified type exists among the at least one application data file. In one embodiment, the memory may store instructions that, when executed, cause the processor to delete or maintain an application data file that is not of the specified type based on a response to the information.
[0086] According to one embodiment, the shared area may be an area accessible by an application of the electronic device and other programs of the electronic device other than the application.
[0087] The specified type according to one embodiment may include a hidden type or a type whose storage path length is longer than the specified length.
[0088] According to one embodiment, the instructions, when executed by the processor, may cause the electronic device to identify at least one application existing in the electronic device when a specified condition is satisfied, and to read an application deletion history stored in the electronic device. The instructions, when executed by the processor, may cause the electronic device to identify file owner information corresponding to an application that is not present in the electronic device and has been deleted using the at least one application existing in the electronic device and the application deletion history. The instructions, when executed by the processor, may cause the electronic device to identify at least one application data file corresponding to the deleted application among data files stored in the shared area using the file owner information.
[0089] The file owner information according to one embodiment may include an owner package name or application identification information.
[0090] The instructions according to one embodiment, when executed by the processor, may cause the electronic device to obtain application identification information corresponding to the deleted application based on deletion of the application, and to identify at least one application data file corresponding to the deleted application based on the file owner information being identical to the application identification information.
[0091] The instructions according to one embodiment, when executed by the processor, may cause the electronic device to obtain application identification information corresponding to the deleted application in an idle state and to identify the at least one application data file corresponding to the deleted application based on the file owner information being identical to the application identification information.
[0092] The instructions according to one embodiment, when executed by the processor, may cause the electronic device to obtain application identification information corresponding to the deleted application based on a connection of an external storage device to the electronic device, obtain file owner information of each of the data files stored on the external storage device using metadata of each of the data files, and identify the at least one application data file corresponding to the deleted application based on the file owner information being identical to the application identification information.
[0093] According to one embodiment, the electronic device may further include a communication circuit (e.g., the communication module (190) of FIG. 1 or the communication circuit (290) of FIG. 2). According to one embodiment, the instructions, when executed by the processor, may cause the electronic device to receive at least one application data file from an external server through the communication circuit and to store the received at least one application data file in the shared area.
[0094] The instructions according to one embodiment, when executed by the processor, may cause the electronic device to classify a plurality of application data files based on a specified condition when there are a plurality of application data files that are not of the specified type, and to display a list indicating groups of the classified application data files on the display.
[0095] Instructions according to one embodiment, when executed by the processor, may cause the electronic device to display an icon on the display for selecting deletion of at least some of the classified application data file groups.
[0096] FIG. 3 is a flowchart illustrating an application data file deletion operation in an electronic device according to one embodiment.
[0097] Referring to FIG. 3, a processor (220) (e.g., processor (120) of FIG. 1) of an electronic device (201) (e.g., electronic device (101) of FIG. 1) according to one embodiment may perform at least one operation among operations 310 to 360.
[0098] In operation 310, the processor (220) according to one embodiment can identify at least one application data file corresponding to a deleted application by using file owner information corresponding to each of at least one application data files stored in the shared area (234).
[0099] According to one embodiment, the processor (220) may obtain application identification information corresponding to the first application when deleting the first application (or after deleting it) and identify at least one application data file corresponding to the first file owner information that corresponds to or is identical to the application identification information among file owner information corresponding to at least one application data file stored in the shared area.
[0100] According to one embodiment, the processor (220) may store an application deletion history including application identification information of an application that was installed in the electronic device (201) and then deleted. According to one embodiment, the processor (220) may add the first application identification information to the application deletion history when (or after) deleting the first application. According to one embodiment, the processor (220) may identify at least one application data file corresponding to the first file owner information that is identical to the first application identification information included in the application deletion history among the file owner information corresponding to at least one application data file stored in the shared area.
[0101] According to one embodiment, the processor (220) may identify an application existing (or installed) in the electronic device (201) using a designated program (e.g., a package manager of Android) when a specified condition is satisfied in an idle state (e.g., when there is no user input for 24 hours) or at specified time intervals, and may identify at least one application data file corresponding to an application that does not exist (or is not installed or deleted) among data files stored in a shared area using a database. According to one embodiment, the processor (220) may identify an application existing (or installed) in the electronic device (201) when a specified condition is satisfied in an idle state or at specified time intervals, and may read an application deletion history. According to one embodiment, the processor (220) may use application identification information of an application existing in the electronic device (201) and application identification information existing in the application deletion history to identify at least one application data file corresponding to application identification information that does not exist in the electronic device (201) and has been deleted among data files stored in the shared area.
[0102] According to one embodiment, when an external storage device (e.g., an external memory (138) of FIG. 1) (e.g., an SD card) is mounted (or inserted or connected) to the electronic device (201), the processor (220) may use metadata of each of the data files stored in the external storage device to identify at least one application data file corresponding to an application that does not exist in the electronic device (201) (or is not installed or deleted) among the data files stored in the external storage device. According to one embodiment, when the processor (220) receives a data file (or data files) from an external server (e.g., a cloud server) through the communication circuit (290), the processor (220) may receive file information for each of the received data files together, and may identify at least one application data file corresponding to an application that does not exist in the electronic device (201) (or is not installed or deleted) among the received data files based on the file information.
[0103] In operation 320, the processor (220) according to one embodiment may identify whether each type of at least one application data file corresponding to the deleted application is a designated type. For example, the designated type may include a hidden file type, a file type having a storage path longer than a designated length (or a file type having a deep directory structure), a file type having a designated extension, a type designated to be deleted immediately without deletion confirmation, or a type excluding a file type with high utilization (e.g., image, video, audio, text, or document).
[0104] In operation 330, the processor (220) according to one embodiment may delete an application data file of a specified type from a shared area (234) if the type of the application data file corresponding to the deleted application is a specified type.
[0105] In operation 340, the processor (220) according to one embodiment may output information for confirming whether the application data file corresponding to the deleted application is deleted if the type of the application data file is not a specified type. The processor (220) according to one embodiment may classify the plurality of application files based on a specified condition (e.g., file type (e.g., image, video, audio, text, or document) or priority) or output a list of classified application files and information for confirming whether an application data file in the classified application file list is deleted if there are multiple application files that are not a specified type. For example, the processor (220) may display a message for confirming whether the application data file is deleted through the display (260) or output a sound for confirming whether the application data file is deleted through a speaker (e.g., the sound output module (155) of FIG. 1).
[0106] In operation 350, the processor (220) according to one embodiment may delete or retain the application data file based on a response regarding whether to delete the application data file corresponding to the deleted application. The processor (220) according to one embodiment may delete or retain the application data file to be deleted based on a user deletion selection input (e.g., touch input or voice input) or a user non-deletion selection input of the application data file.
[0107] According to an embodiment, a method for deleting an application data file in an electronic device (e.g., the electronic device 101 of FIG. 1 or the electronic device 201 of FIG. 2A) may include an operation of identifying at least one application data file corresponding to a deleted application among data files stored in a shared area of a memory of the electronic device. According to an embodiment, the method may include an operation of deleting an application data file of a specified type among the at least one application data file if an application data file of a specified type exists among the at least one application data file. According to an embodiment, the method may include an operation of displaying information on a display of the electronic device for confirming whether to delete an application data file of a type other than the specified type if an application data file of a type other than the specified type exists among the at least one application data file. According to an embodiment, the method may include an operation of deleting or maintaining an application data file of a type other than the specified type based on a response to the information.
[0108] In the method according to one embodiment, the shared area may be an area accessible by an application of the electronic device and another program of the electronic device other than the application.
[0109] In the method according to one embodiment, the specified type may include a hidden type or a type whose storage path length is longer than the specified length.
[0110] According to one embodiment, the method may include an operation of identifying at least one application existing in the electronic device when a specified condition is satisfied, and reading an application deletion history stored in the electronic device. The method may include an operation of identifying file owner information corresponding to an application that is not present in the electronic device and has been deleted using the at least one application existing in the electronic device and the application deletion history. The method may include an operation of identifying at least one application data file corresponding to the deleted application among the data files stored in the shared area using the file owner information.
[0111] In the method according to one embodiment, the file owner information may include an owner package name or application identification information.
[0112] According to one embodiment, the method may include an operation of obtaining application identification information corresponding to the deleted application based on the deletion of the application. According to one embodiment, the method may include an operation of identifying at least one application data file corresponding to the deleted application based on the file owner information and the application identification information being identical.
[0113] The method according to one embodiment may include an operation of obtaining application identification information corresponding to the deleted application in an idle state. The method according to one embodiment may include an operation of identifying at least one application data file corresponding to the deleted application based on the file owner information and the application identification information being identical.
[0114] According to one embodiment, the method may include an operation of obtaining application identification information corresponding to the deleted application based on a connection of an external storage device to the electronic device. According to one embodiment, the method may include an operation of obtaining file owner information of each of the data files stored in the external storage device using metadata of each of the data files. According to one embodiment, the method may include an operation of identifying at least one application data file corresponding to the deleted application based on the file owner information and the application identification information being identical.
[0115] According to one embodiment, the method may include receiving at least one application data file from an external server via a communication circuit of the electronic device. According to one embodiment, the method may include storing the received at least one application data file in the shared area.
[0116] The method according to one embodiment may include an operation of classifying a plurality of application data files based on a specified condition when a plurality of application data files other than the specified type exist. The method according to one embodiment may include an operation of displaying a list representing the classified application data file groups on the display. The method according to one embodiment may include an operation of displaying an icon for selecting deletion of at least some of the classified application data file groups on the display.
[0117] FIG. 4 is a flowchart illustrating an operation of deleting an application data file when deleting an application in an electronic device according to one embodiment.
[0118] Referring to FIG. 4, a processor (220) (e.g., processor (120) of FIG. 1) of an electronic device (201) (e.g., electronic device (101) of FIG. 1) according to one embodiment may perform at least one operation among operations 410 to 460.
[0119] In operation 410, the processor (220) according to one embodiment may delete an application in response to a request for deleting an application and obtain application identification information corresponding to the deleted application. According to one embodiment, the processor (220) may delete an application in response to a request for deleting an application installed in the electronic device (201) based on a user input or a specified command and obtain application identification information (e.g., id, uid, gid, owner_package_name) corresponding to the deleted application. According to one embodiment, when the application is deleted, the processor (220) may receive a notification (e.g., ACTION_PACKAGE_REMOVED intent) from a specified program (e.g., mediaprovider or another application) to identify the deletion of the application. According to one embodiment, when the application is deleted, the processor (220) may store the application identification information of the deleted application in the application deletion history. According to one embodiment, the processor (220) may receive a notification from a designated program each time an application is deleted, indicating which application has been deleted. According to one embodiment, the processor (220) may update an application deletion history containing application identification information of an application that was installed on the electronic device (201) and then deleted each time an application is deleted.
[0120] In operation 420, the processor (220) according to one embodiment may identify at least one application data file corresponding to the deleted application among the data files stored in the shared area (234) using file owner information stored in the database. The processor (220) according to one embodiment may identify at least one application data file having the same owner package name (owner_package_name) as the name of the application deleted from the database as the application data file to be deleted based on receiving a notification about the deleted application.
[0121] In operation 430, the processor (220) according to one embodiment may identify whether each type of at least one application data file corresponding to the deleted application is a designated type. For example, the designated type may include a hidden file type, a file type having a storage path longer than a designated length (or a file type having a deep directory structure), a file type having a designated extension, a type designated to be deleted without deletion permission, or a type excluding a file type with high utilization (e.g., image, video, audio, text, or document).
[0122] In operation 440, the processor (220) according to one embodiment may (immediately or directly) delete an application data file of a specified type from the shared area (234) if the type of the application data file corresponding to the deleted application is a specified type.
[0123] In operation 450, the processor (220) according to one embodiment may output information for confirming whether the application data file corresponding to the deleted application is deleted if the type of the application data file is not a specified type. The processor (220) according to one embodiment may classify the plurality of application files based on a specified condition (e.g., file type (e.g., image, video, audio, text, or document) or priority) when there are multiple application files that are not a specified type, and output a list of classified application files and information for confirming whether an application data file in the classified application file list is deleted. For example, the processor (220) may display a message for confirming whether the application data file is deleted through the display (260) or output a sound for confirming whether the application data file is deleted through a speaker (e.g., the sound output module (155) of FIG. 1).
[0124] In operation 460, the processor (220) according to one embodiment may delete or retain the application data file based on a response on whether to delete the application data file corresponding to the deleted application. The processor (220) according to one embodiment may delete or retain the application data file to be deleted based on a user deletion selection input (e.g., touch input or voice input) or a user non-deletion selection input of the application data file. The processor (220) according to one embodiment may store maintenance information (e.g., is_owner_checked) indicating that the application data file selected to be retained is the application data file selected to be retained in the database. The processor (220) according to one embodiment may not guide to the application data file to be deleted based on the maintenance information. The processor (220) according to one embodiment may receive and set a non-delete retention period for the application data file to be deleted when non-deletion is selected or set a designated period. According to one embodiment, the processor (220) may delete the application data file to be deleted when the undelete retention period of the application data file to be deleted expires or when a periodic undelete retention period expired file deletion event occurs. According to one embodiment, the processor (220) may output information notifying the application data file to be deleted whose undelete retention period has expired, and may also delete the application data file to be deleted whose undelete retention period has expired based on a user's deletion request input.
[0125] FIG. 5 is a flowchart illustrating an operation of an electronic device deleting an application data file in an idle state according to an embodiment.
[0126] Referring to FIG. 5, a processor (220) (e.g., processor (120) of FIG. 1) of an electronic device (201) (e.g., electronic device (101) of FIG. 1) according to one embodiment may perform at least one operation among operations 510 to 560.
[0127] In operation 510, the processor (220) according to an embodiment may obtain application identification information corresponding to an application deleted in an idle state. The processor (220) according to an embodiment may use a designated program (e.g., a package manager of Android) to identify applications (e.g., a list of installed applications) existing (or installed) in the electronic device (201) when a designated condition is satisfied in the idle state (e.g., a 24-hour cycle in the idle state, or when there is no user input for a designated time, or when charging or when other conditions are satisfied), and may identify file owner information (e.g., metadata of a file or an owner package name (owner_package_name) of a database) corresponding to an application that does not exist (or is not installed or deleted) among data files stored in the shared area (234). According to an embodiment, the processor (220) may identify at least one application (e.g., a list of installed applications) existing (or installed) in the electronic device (201) using a designated program when a designated condition is satisfied in an idle state, and read an application deletion history for at least one application deleted from the electronic device (201). According to an embodiment, the processor (220) may identify file owner information (e.g., metadata of a file or an owner package name (owner_package_name) of a database) corresponding to an application that does not exist among data files stored in the shared area (234) using application identification information of an application existing in the electronic device (201) and application identification information existing in the application deletion history.
[0128] In operation 520, the processor (220) according to one embodiment can identify at least one application data file corresponding to a deleted application among data files stored in the shared area (234) using file owner information.
[0129] In operation 530, the processor (220) according to one embodiment may identify whether each type of at least one application data file corresponding to the deleted application is a designated type. For example, the designated type may include a hidden file type, a file type having a storage path longer than a designated length (or a file type having a deep directory structure), a file type having a designated extension, a type designated to be deleted without deletion permission, or a type excluding a file type with high utilization (e.g., image, video, audio, text, or document).
[0130] In operation 540, the processor (220) according to one embodiment may (immediately or directly) delete an application data file of a specified type from the shared area (234) if the type of the application data file corresponding to the deleted application is a specified type.
[0131] In operation 550, the processor (220) according to one embodiment may output information for confirming whether the application data file is deleted when the idle state is released if the type of the application data file corresponding to the deleted application is not a specified type. The processor (220) according to one embodiment may classify the plurality of application files based on a specified condition (e.g., file type (e.g., image, video, audio, text, or document) or priority) when there are multiple application files that are not a specified type, and output a list of classified application files and information for confirming whether an application data file in the classified application file list is deleted. For example, the processor (220) may display a message for confirming whether the application data file is deleted through the display (260) when the idle state is released, or output a sound for confirming whether the application data file is deleted through a speaker (e.g., the sound output module (155) of FIG. 1).
[0132] In operation 560, the processor (220) according to an embodiment may delete or retain the application data file based on a response as to whether to delete the application data file corresponding to the deleted application while the idle state is released. The processor (220) according to an embodiment may delete or retain the application data file to be deleted based on a user deletion selection input (e.g., touch input or voice input) or a user non-deletion selection input of the application data file. The processor (220) according to an embodiment may update the file owner information in the database with a null value for the application data file selected to be retained, store maintenance information (e.g., is_owner_checked) indicating that the application data file is selected to be retained, or update the owner information with a null value or insert the maintenance information into a metadata area within the application data file. The processor (220) according to an embodiment may not provide (or guide) the application data file to be deleted based on the maintenance information.
[0133] FIG. 6 is a flowchart illustrating an operation of an electronic device according to one embodiment of the present invention to delete an application data file stored in an external electronic device when the external storage device is connected.
[0134] Referring to FIG. 6, a processor (220) (e.g., processor (120) of FIG. 1) of an electronic device (201) (e.g., electronic device (101) of FIG. 1) according to one embodiment may perform at least one operation among operations 610 to 640.
[0135] In operation 610, the processor (220) according to one embodiment may identify mounting (or insertion or connection) of an external storage device (e.g., external memory (138) of FIG. 1) (e.g., SD card) in the electronic device (201).
[0136] In operation 620, the processor (220) according to one embodiment can identify at least one application data file corresponding to an application that does not exist (or is not installed or deleted) in the electronic device (201) among the data files stored in the external storage device by using metadata of each of the data files stored in the external storage device.
[0137] In operation 630, the processor (220) according to one embodiment may output information confirming whether at least one application data file corresponding to the deleted application is deleted. If there are multiple application files that are not of a specified type, the processor (220) according to one embodiment may classify the multiple application data files based on a specified condition (e.g., file type (e.g., image, video, audio, text, or document)) or priority, and output a list of classified application data files and information confirming whether an application data file in the classified application data file list is deleted. For example, the processor (220) may display a message confirming whether an application data file is deleted through the display (260) or output a sound confirming whether an application data file is deleted through a speaker (e.g., the sound output module (155) of FIG. 1).
[0138] In operation 640, the processor (220) according to one embodiment may delete or retain the application data file based on a response on whether to delete the application data file corresponding to the deleted application. The processor (220) according to one embodiment may delete or retain the application data file to be deleted based on a user deletion selection input (e.g., touch input or voice input) or a user non-deletion selection input of the application data file. The processor (220) according to one embodiment may update the file owner information in the database with a null value for the application data file selected to be retained, store maintenance information (e.g., is_owner_checked) indicating that the application data file is selected to be retained, or update the owner information with a null value or insert the maintenance information into a metadata area within the application data file. The processor (220) according to one embodiment may not provide (or guide) the application data file to be deleted based on the maintenance information.
[0139] FIG. 7a is a diagram showing information displayed on a display when an application is deleted in an electronic device according to an embodiment, and FIG. 7b is a diagram showing information for confirming whether an application data file is deleted according to an embodiment.
[0140] First, referring to FIG. 7A, the processor (220) of an electronic device (201) (e.g., the electronic device (101) of FIG. 1) according to an embodiment may display, on a display (260), notification information (710) notifying that there is at least one application data file corresponding to the deleted application among the data files stored in the shared area (234) when an application is deleted. According to an embodiment, when the “test1” application is deleted, the processor (220) may display information (710) notifying that the application created by “test1” is in the shared area, “internal storage.” According to one embodiment, when there are multiple application data files corresponding to a deleted application, the processor (220) may classify the multiple application data files based on a specified condition (e.g., file type (e.g., image, video, audio, text, or document)) or priority, and display information of the multiple classified application data files together, such as “image:101, Video: 1054, Audio:22, Texts:21, other files:221.” For example, “image:101, Video: 1054, Audio:22, Texts:21, other files:221” may mean that among the multiple application data files, there are 101 image files, 1054 video files, 22 audio files, 21 text files, and 221 other files. According to one embodiment, the processor (220) may further display a notification settings menu for setting notifications and / or a menu for stopping notification display (clear) in addition to the notification information (710).
[0141] Referring to FIG. 7B, the processor (220) according to one embodiment may display information (720) for confirming whether to delete the application data file on the display (260) when the notification information (710) notifying that there is at least one application data file corresponding to the deleted application is selected. The information (720) for confirming whether to delete the application data file according to one embodiment may include a list of classified application data file groups (722, 724, 726, 728, 729) and a delete icon that can be selected to delete each of the classified application data file groups. The processor (220) according to one embodiment may delete all application data files (e.g., 101 images) corresponding to the first application file group (722) based on a user input selecting a delete icon corresponding to the first application data file group (722). According to one embodiment, the processor (220) may display application data files (e.g., 101 images) included in the first application data file group (722) based on a user input selecting the first application data file group (722) (not shown), and delete a selected application data file (e.g., at least one image selected from the 101 images) among the application data files (e.g., 101 images). According to one embodiment, the processor (220) may also delete all application data files (e.g., 1054 Videos, 22 Audios, 21 Texts, or 221 files) corresponding to an application file group (724, 726, 728, or 729) based on a user input selecting a delete icon for each of the other application file groups (724, 726, 728, and 729).In one embodiment, the processor (220) may display application data files (e.g., 1054 Videos, 22 Audios, 21 Texts, or 221 files) included in each application data file group (e.g., 724, 726, 728, or 729) based on a user input for each of the other application file groups (724, 726, 728, and 729) (not shown). In one embodiment, the processor (220) may delete a selected application data file (e.g., at least one video file selected from among 1054 Videos, at least one audio file selected from among 22 Audios, at least one text file selected from among 21 Texts, or at least one file selected from among 221 files) among the application data files (e.g., 1054 Videos, 22 Audios, 21 Texts, or 221 files).
[0142] FIG. 8a is a diagram showing information displayed on a display when an electronic device according to one embodiment identifies application data files for an application deleted in an idle state, and FIG. 8b is a diagram showing information for confirming whether application data files for a deleted application are deleted according to one embodiment.
[0143] First, referring to FIG. 8A, the processor (220) of an electronic device (201) (e.g., the electronic device (101) of FIG. 1) according to one embodiment may display notification information (810) on a display (260) indicating that there is at least one application data file corresponding to a deleted application among the data files stored in the shared area (234) as a result of scanning in an idle state. According to one embodiment, when there are multiple application data files corresponding to a deleted application, the processor (220) may classify the multiple application data files based on a specified condition (e.g., file type (e.g., image, video, audio, text, or document) or priority) and display information of the multiple classified application data files together as “image: 1021, Video: 222, Audio: 31, Texts: 1532, other files: 2231”. For example, “image: 1021, Video: 222, Audio: 31, Texts: 1532, other files: 2231” may mean that among the multiple application data files, there are 1021 image files, 222 video files, 31 audio files, 1532 text files, and 2231 other files. According to one embodiment, in addition to the notification information (810), the processor (220) may display a notification setting menu (notification) for setting the notification. (settings) and / or a menu (clear) to stop displaying notifications. In one embodiment, there may be multiple deleted applications.
[0144] Referring to FIG. 8B, the processor (220) according to one embodiment may display information (820) for confirming whether to delete the application data file on the display (260) when the notification information (810) notifying that there is at least one application data file corresponding to the deleted application is selected. The information (820) for confirming whether to delete the application data file according to one embodiment may include a list of classified application data file groups (822, 824, 826, 828, 829) and a delete icon that can be selected to delete each of the classified application data file groups. The processor (220) according to one embodiment may delete all application data files (e.g., 1021 images) corresponding to the first application file group (822) based on a user input selecting a delete icon corresponding to the first application data file group (822). According to one embodiment, the processor (220) may display application data files (e.g., 1021 images) included in the first application data file group (822) based on a user input selecting the first application data file group (822) (not shown), and delete a selected application data file (e.g., at least one image selected from the 1021 images) among the application data files (e.g., 1021 images). According to one embodiment, the processor (220) may also delete all application data files (e.g., 1222 Videos, 31 Audios, 1532 Texts, or 2231 files) corresponding to an application file group (824, 826, 828, or 829) based on a user input selecting a delete icon for each of the other application file groups (824, 826, 828, and 829).According to an embodiment, the processor (220) may display application data files (e.g., 222 Videos, 31 Audios, 1532 Texts, or 2231 files) included in each application data file group (e.g., 824, 826, 828, or 829) based on a user input for each of the other application file groups (824, 826, 828, and 829) (not shown). According to an embodiment, the processor (220) may delete a selected application data file (e.g., at least one video file selected from among 222 Videos, at least one audio file selected from among 31 Audios, at least one text file selected from among 1532 Texts, or at least one file selected from among 2231 files) among the application data files (e.g., 222 Videos, 31 Audios, 1532 Texts, or 2231 files).
[0145] FIG. 9 is a diagram showing information for checking whether an application data file for a deleted application among data files obtained from an external device by an electronic device according to one embodiment is deleted.
[0146] Referring to FIG. 9, the processor (220) of an electronic device (201) (e.g., the electronic device (101) of FIG. 1) according to an embodiment may display information (920) for confirming whether to delete an application data file if there is an application data file for a deleted application among data files obtained from an external device (e.g., an external server or a cloud) on the display (260). The information (920) for confirming whether to delete an application data file according to an embodiment may include a list of classified application data file groups (922, 924, 926, 928, 929) and a delete icon that can be selected to delete each of the classified application data file groups. The processor (220) according to an embodiment may delete all application data files (e.g., 1021 images) corresponding to the first application file group (922) based on a user input selecting a delete icon corresponding to the first application data file group (922). According to one embodiment, the processor (220) may display application data files (e.g., 1021 images) included in the first application data file group (922) based on a user input selecting the first application data file group (922) (not shown), and delete a selected application data file (e.g., at least one image selected from among the 1021 images) among the application data files (e.g., 1021 images).
[0147] FIG. 10 is a diagram showing information for checking whether to delete an application data file for a deleted application among the data files of the SD card when an SD card (or memory card or external memory) is connected to an electronic device according to one embodiment.
[0148] Referring to FIG. 10, the processor (220) of an electronic device (201) (e.g., the electronic device (101) of FIG. 1) according to an embodiment may display information (1020) for confirming whether to delete an application data file if there is an application data file for a deleted application among the data files acquired from an SD card on the display (260). The information (1020) for confirming whether to delete an application data file according to an embodiment may include a list of classified application data file groups (1022, 1024, 1026, 1028) and a delete icon that can be selected to delete each of the classified application data file groups. The processor (220) according to an embodiment may delete all application data files (e.g., 1021 images) corresponding to the first application file group (1022) based on a user input selecting a delete icon corresponding to the first application data file group (1022). According to one embodiment, the processor (220) may display application data files (e.g., 1021 images) included in the first application data file group (1022) based on a user input selecting the first application data file group (1022) (not shown), and delete a selected application data file (e.g., at least one image selected from the 1021 images) among the application data files (e.g., 1021 images). According to one embodiment, the processor (220) may also delete all application data files (e.g., 222 Videos, 31 Audios, 1532 Texts, or 2231 files) corresponding to an application file group (1024, 1026, 1028, or 1029) based on a user input selecting a delete icon for each of the other application file groups (1024, 1026, 1028, and 1029).According to an embodiment, the processor (220) may also display application data files (e.g., 222 Videos, 31 Audios, 1532 Texts, or 2231 files) included in each application data file group (e.g., 1024, 1026, 1028, or 1029) based on a user input for each of the other application file groups (1024, 1026, 1028, and 1029) (not shown). According to an embodiment, the processor (220) may delete a selected application data file (e.g., at least one video file selected from among 222 Videos, at least one audio file selected from among 31 Audios, at least one text file selected from among 1532 Texts, or at least one file selected from among 2231 files) among the application data files (e.g., 222 Videos, 31 Audios, 1532 Texts, or 2231 files).
[0149] Electronic devices according to various embodiments disclosed in this document may take various forms. Electronic devices may include, for example, portable communication devices (e.g., smartphones), computer devices, portable multimedia devices, portable medical devices, cameras, wearable devices, or home appliances. Electronic devices according to embodiments of the present disclosure are not limited to the aforementioned devices.
[0150] The various embodiments of the present disclosure and the terminology used therein are not intended to limit the technical features described in this document to specific embodiments, but should be understood to include various modifications, equivalents, or substitutes of the embodiments. In connection with the description of the drawings, similar reference numerals may be used for similar or related components. The singular form of a noun corresponding to an item may include one or more of the items, unless the context clearly indicates otherwise. In this document, each of the phrases "A or B," "at least one of A and B," "at least one of A or B," "A, B, or C," "at least one of A, B, and C," and "at least one of A, B, or C" can include any one of the items listed together in the corresponding phrase among those phrases, or all possible combinations thereof. Terms such as "first," "second," or "first" or "second" may be used merely to distinguish one component from another, and do not limit the components in any other respect (e.g., importance or order). When a component (e.g., a first component) is referred to as "coupled" or "connected" to another (e.g., a second component), with or without the terms "functionally" or "communicatively," it means that the component can be connected to the other component directly (e.g., wired), wirelessly, or through a third component.
[0151] The term "module" as used herein may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit. A module may be an integral component, or a minimum unit or part of such a component that performs one or more functions. For example, according to one embodiment, a module may be implemented in the form of an application-specific integrated circuit (ASIC).
[0152] Various embodiments of the present disclosure may be implemented as software (e.g., a program (140)) including one or more commands stored in a storage medium (e.g., an internal memory (136) or an external memory (138)) readable by a machine (e.g., an electronic device (101)). For example, a processor (e.g., a processor (120)) of the machine (e.g., an electronic device (101)) may call at least one command among the one or more commands stored from the storage medium and execute it. This enables the machine to operate to perform at least one function according to the at least one command called. The one or more commands may include code generated by a compiler or code executable by an interpreter. The machine-readable storage medium may be provided in the form of a non-transitory storage medium. Here, 'non-transitory' simply means that the storage medium is a tangible device and does not contain signals (e.g., electromagnetic waves), and the term does not distinguish between cases where data is stored semi-permanently or temporarily on the storage medium.
[0153] According to one embodiment, the method according to the various embodiments disclosed in the present document may be provided as included in a computer program product. The computer program product may be traded as a product between a seller and a buyer. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., compact disc read only memory (CD-ROM)), or may be distributed online (e.g., downloaded or uploaded) via an application store (e.g., Play Store™) or directly between two user devices (e.g., smartphones). In the case of online distribution, at least a portion of the computer program product may be temporarily stored or temporarily generated in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or an intermediary server.
[0154] According to various embodiments, each component (e.g., a module or a program) of the above-described components may include a single or multiple entities. According to various embodiments, one or more components or operations of the aforementioned components may be omitted, or one or more other components or operations may be added. Alternatively or additionally, a plurality of components (e.g., a module or a program) may be integrated into a single component. In such a case, the integrated component may perform one or more functions of each of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to the integration. According to various embodiments, the operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, omitted, or one or more other operations may be added.
[0155] According to one embodiment, a non-volatile storage medium storing commands is provided, wherein the commands are configured to cause the electronic device to perform at least one operation when executed by the electronic device, wherein the at least one operation may include: identifying at least one application data file corresponding to a deleted application among data files stored in a shared area of a memory of the electronic device; deleting an application data file of a specified type among the at least one application data file if an application data file of a specified type exists among the at least one application data file; displaying information on a display of the electronic device to confirm whether to delete an application data file of a type other than the specified type if an application data file of a type other than the specified type exists among the at least one application data file; and deleting or maintaining an application data file of a type other than the specified type based on a response to the information.
[0156] And the embodiments of the present disclosure described in this specification and drawings are merely specific examples presented to easily explain the technical contents according to the embodiments of the present disclosure and to help understand the embodiments of the present disclosure, and are not intended to limit the scope of the embodiments of the present disclosure. Therefore, the scope of the various embodiments of the present disclosure should be interpreted as including all changes or modified forms derived based on the technical ideas of the various embodiments of the present disclosure in addition to the embodiments invented herein.
Claims
1. In an electronic device (101 of FIG. 1 or 201 of FIG. 2a), Display (160 in Fig. 1 or 260 in Fig. 2a); A memory for storing instructions (130 in FIG. 1 or 230 in FIG. 2a); and comprising a processor (120 of FIG. 1 or 220 of FIG. 2a) operatively connected to the display and the memory; The above instructions, when executed by the processor, cause the electronic device to identify at least one application data file corresponding to a deleted application among data files stored in a shared area of the memory, If an application data file of a specified type exists among at least one application data file above, delete the application data file of the specified type; If there is an application data file other than the specified type among at least one of the above application data files, information for checking whether to delete the application data file other than the specified type is displayed on the display, An electronic device that deletes or retains application data files that are not of the specified type based on a response to the above information.
2. In paragraph 1, The above shared area is an area accessible by the application of the electronic device and other programs of the electronic device other than the application, An electronic device including a type that is a hidden type or a type whose storage path length is longer than the specified length.
3. In paragraph 1 or 2, The above instructions, when executed by the processor, cause the electronic device to: When a specified condition is satisfied, at least one application existing in the electronic device is identified, and the application deletion history stored in the electronic device is read, Identifying file owner information corresponding to a deleted application that does not exist on the electronic device by using at least one application existing on the electronic device and the application deletion history, An electronic device that identifies at least one application data file corresponding to the deleted application among the data files stored in the shared area using the file owner information.
4. In any one of paragraphs 1 to 3, The above file owner information is an electronic device that includes the owner package name or application identification information.
5. In any one of paragraphs 1 to 4, The above instructions, when executed by the processor, cause the electronic device to: An electronic device further configured to obtain application identification information corresponding to the deleted application based on deletion of the application, and to identify at least one application data file corresponding to the deleted application based on the file owner information being identical to the application identification information.
6. In any one of paragraphs 1 to 5, The above instructions, when executed by the processor, cause the electronic device to: An electronic device that obtains application identification information corresponding to the deleted application in an idle state and identifies at least one application data file corresponding to the deleted application based on the file owner information being identical to the application identification information.
7. In any one of paragraphs 1 to 6, The above instructions, when executed by the processor, cause the electronic device to: An electronic device for obtaining application identification information corresponding to the deleted application based on the connection of an external storage device to the electronic device, obtaining file owner information of each of the data files stored in the external storage device using metadata of each of the data files, and identifying at least one application data file corresponding to the deleted application based on the file owner information being identical to the application identification information.
8. In any one of paragraphs 1 to 7, Further comprising a communication circuit, The above instructions, when executed by the processor, cause the electronic device to: An electronic device that receives at least one application data file from an external server through the communication circuit and stores the received at least one application data file in the shared area.
9. In any one of paragraphs 1 to 8, The above instructions, when executed by the processor, cause the electronic device to: An electronic device that, when there are multiple application data files that are not of the above-specified type, classifies the multiple application data files based on a specified condition and displays a list indicating the groups of classified application data files on the display.
10. In any one of paragraphs 1 to 9, The above instructions, when executed by the processor, cause the electronic device to: An electronic device that causes an icon to be displayed on the display for selecting deletion of at least some of the groups of application data files classified above.
11. A method for deleting an application data file in an electronic device (101 of FIG. 1 or 201 of FIG. 2a), An operation of identifying at least one application data file corresponding to a deleted application among data files stored in a shared area of a memory of the electronic device; An action of deleting an application data file of a specified type if an application data file of a specified type exists among at least one application data file; An operation of displaying information on the display of the electronic device to determine whether to delete an application data file that is not of the specified type if an application data file that is not of the specified type exists among at least one of the application data files; and A method comprising the action of deleting or retaining application data files that are not of the specified type based on a response to said information.
12. In paragraph 11, The above shared area is an area accessible by the application of the electronic device and other programs of the electronic device other than the application, A method in which the above-mentioned specified type includes a hidden type or a type whose storage path length is longer than the specified length.
13. In paragraph 11 or 12, An operation of identifying at least one application existing in the electronic device when a specified condition is satisfied, and reading the application deletion history stored in the electronic device; An operation of identifying file owner information corresponding to a deleted application that does not exist on the electronic device by using at least one application existing on the electronic device and the application deletion history; and A method comprising an action of identifying at least one application data file corresponding to the deleted application among the data files stored in the shared area using the file owner information.
14. In any one of paragraphs 11 to 13, The above file owner information includes the owner package name or application identification information.
15. In a nonvolatile storage medium storing commands, The above commands, when executed by an electronic device (101 of FIG. 1 or 201 of FIG. 2), are set to cause the electronic device to perform at least one operation, wherein the at least one operation is: An operation of identifying at least one application data file corresponding to a deleted application among data files stored in a shared area of a memory of the electronic device; An action of deleting an application data file of a specified type if an application data file of a specified type exists among at least one application data file; An operation of displaying information on the display of the electronic device to determine whether to delete an application data file that is not of the specified type if an application data file that is not of the specified type exists among at least one of the application data files; and A storage medium including an action for deleting or retaining application data files that are not of the specified type based on a response to the above information.
Citation Information
Patent Citations
Terminal device, information processing method, and program
JP2021165961A
Application program management method and apparatus, server, terminal device, program, and recording medium
KR1020150076230A
SYSTEM AND METHOD FOR NOTIFYING CONSUMER OF STATUS ANALYSIS INFORMATION ABOUT IoT HOME APPLIANCES IN REAL TIME BASED ON BIG DATA
KR1020210019652A
Fpcb combination apparatus for camera module
KR102339160B1
Application installation / uninstallation across multiple systems
KR102461044B1